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
next prev parent 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