From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,CP1252 X-Google-Thread: 103376,d6f7b92fd11ab291 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-07-15 16:00:54 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.mathworks.com!wn13feed!wn12feed!worldnet.att.net!204.127.198.203!attbi_feed3!attbi_feed4!attbi.com!rwcrnsc54.POSTED!not-for-mail Message-ID: <3F1487A3.5030009@attbi.com> From: "Robert I. Eachus" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.2) Gecko/20021120 Netscape/7.01 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Crosspost: Help wanted from comp.compilers References: <1058275843.720814@master.nyc.kbcfp.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit NNTP-Posting-Host: 66.31.71.243 X-Complaints-To: abuse@comcast.net X-Trace: rwcrnsc54 1058310052 66.31.71.243 (Tue, 15 Jul 2003 23:00:52 GMT) NNTP-Posting-Date: Tue, 15 Jul 2003 23:00:52 GMT Organization: Comcast Online Date: Tue, 15 Jul 2003 23:00:52 GMT Xref: archiver1.google.com comp.lang.ada:40310 Date: 2003-07-15T23:00:52+00:00 List-Id: John R. Strohm wrote: > Now, it was EASY to build systems that had horrendous recompilation > problems. Usually, in order to build such a system, you had to screw up > some fairly basic software engineering things. For example, if you build a > system-wide "types" package, then every time you touch that package, you get > to recompile the world. If you build a system-wide "magic numbers" package, > same problem. Observe that the exact same problems arise in C/C++. The > answer is, of course, DON'T DO THAT. This resulted in one of the few "official" MITRE inputs to the Ada 9X requirements process, and the one that meant we felt it was important to submit as a MITRE position not just representing the group making the recomendations. Every time MITRE got called in by the government to resolve Ada compiler problems that were ususally described as "recompiles with this compiler are much too slow," it turned out that the real solution was to fix some software engineering issues. (John Strohm gave a good selection of some of them. Another favorite was rapidly changing interfaces during the coding phase. In one case, I found a package specification that had changed 17 times in one month. During that time, the package body had been changed twice!) Of course, given the usual contracting environment, the sooner MITRE got called in to resolve the problem, the more money (and schedule time which was often more valuable) the government saved. So even if someone did figure out an elegant way to recompile the world quickly, we (on behalf of the US government) did not want it. Oh and of course, not all government programs are written in Ada. For programs in C, this problem usually showed up as a configuration management problem when trying to link all the code together. On at least one project where I was on the "Red Team" to resolve that, the recommendation was to cancel the project. (They had fallen into the trap of having more than one version of the truth by having different software repositories for different software groups on a large project. When they finally tried to do an "all up" system build, it turned out that there were over 1000 files with multiple versions. After studying a significant sample of the differences, we estimated the time to merge the differences with some chance of getting a working version at over two years!) -- Robert I. Eachus �In an ally, considerations of house, clan, planet, race are insignificant beside two prime questions, which are: 1. Can he shoot? 2. Will he aim at your enemy?� -- from the Laiden novels by Sharon Lee and Steve Miller.