comp.lang.ada
 help / color / mirror / Atom feed
From: claird@Starbase.NeoSoft.COM (Cameron Laird)
Subject: Anticipatory proxies for disaster (was: Gurus - which lang. for this task?)
Date: 24 Jan 1995 11:32:15 -0600
Date: 1995-01-24T11:32:15-06:00	[thread overview]
Message-ID: <3g3div$jrm@Starbase.NeoSoft.COM> (raw)
In-Reply-To: EACHUS.95Jan23142733@spectre.mitre.org

In article <EACHUS.95Jan23142733@spectre.mitre.org>,
Robert I. Eachus <eachus@spectre.mitre.org> reported on professional
experience of his that I find so interesting I urged him to cross-post
it to comp.software-eng.  He has given me permission to do so.  He
wrote:
			.
			.
			.
>     As one of those who fought taking this "feature" out of the
>language, I feel duty bound to answer this.  At MITRE we found that
>whenever an Ada project start slipping due to "long link times," the
>problem was always traceable to major design flaws that would prevent
>completion of the project.  (Since MITRE's main job is acting as a
>technical advisor to the DoD on procurements, we get to see a lot of
>projects in trouble.)  In every case, where fixing things was possible
>(technically and otherwise), a few weeks spent restructuring the
>design brought the schedule under control.  In particular not only did
>global recompiles drop from days to hours, they usually also went back
>to once per major build, and the programmers spent a lot less time
>fighting forest fires.
>
>     So, if your Ada project has unacceptably long link times, C or
>Fortran is not the answer--in cases where this type of code switch was
>seriously attempted, the same design changes were needed.  The answer
>is to find out why every compilation needs to with in (tranitively)
>several hundred library units.
>
>     On one project we found a unit that was "withed" by over 600
>units, and had over a hundred with clauses of its own.  Argh!
			.
			.
			.
In his letter to me, he also explained:
>    You can quote me there if you like.  This was the perfect example
>of an operations research result.  (It may take heavy duty statistical
>analysis to reach the conclusion, but it is obvious in hindsight.)
>
>    In this case what we found was that, in C, poor designs break when
>the poor sod trying to maintain the makefile can't cope.  In Ada,
>since all that is automated/enforced you can get a lot more complex
>before things fall apart, but the link times start growing
>exponentially just before they do.  (Fortunately in the Ada case the
>break often occurs earlier in the project timeline.  During detailed
>design if the project is using a design method with executable
>specifications.)
			.
			.
			.
Follow-ups to c.s-e
-- 

Cameron Laird		ftp://ftp.neosoft.com/pub/users/claird/home.html
claird@Neosoft.com      +1 713 267 7966
claird@litwin.com       +1 713 996 8546



  reply	other threads:[~1995-01-24 17:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1995Jan12.143131.2083@midway.uchicago.edu>
     [not found] ` <3fh4l1$mpm@Starbase.NeoSoft.COM>
     [not found]   ` <3fuskb$hae@Starbase.NeoSoft.COM>
1995-01-23 18:09     ` Gurus - which lang. for this task? Cameron Laird
1995-01-23 19:27       ` Robert I. Eachus
1995-01-24 17:32         ` Cameron Laird [this message]
1995-01-25  2:07         ` Robert Dewar
1995-01-24 19:15       ` Robert Dewar
1995-01-25 14:45         ` Ada link times David Emery
1995-01-25  5:14       ` Gurus - which lang. for this task? Samuel Mize
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox