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,ASCII-7-bit X-Google-Thread: 103376,2def9aa85afa5d22 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-11-03 10:52:22 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.uchicago.edu!vixen.cso.uiuc.edu!howland.erols.net!netnews.com!xfer02.netnews.com!newsfeed2.earthlink.net!newsfeed.earthlink.net!newsmaster1.prod.itd.earthlink.net!newsread1.prod.itd.earthlink.net.POSTED!not-for-mail Message-ID: <3BE43CDC.F6B1EE30@acm.org> From: Jeffrey Carter X-Mailer: Mozilla 4.7 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Joint Strike Fighter References: <3BDCE159.39F6D422@adaworks.com> <11bf7180.0110290311.4d8d6f04@posting.google.com> <3BDF9C6A.C25520C5@adaworks.com> <3BE023AB.8F235EF5@sparc01.ftw.rsc.raytheon.com> <9rp8mo$6d8$1@nh.pace.co.uk> <9rrmvl$98d$1@nh.pace.co.uk> <3BE4221B.34589071@adaworks.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Sat, 03 Nov 2001 18:52:21 GMT NNTP-Posting-Host: 209.86.204.110 X-Complaints-To: abuse@earthlink.net X-Trace: newsread1.prod.itd.earthlink.net 1004813541 209.86.204.110 (Sat, 03 Nov 2001 10:52:21 PST) NNTP-Posting-Date: Sat, 03 Nov 2001 10:52:21 PST Organization: EarthLink Inc. -- http://www.EarthLink.net X-Received-Date: Sat, 03 Nov 2001 10:48:23 PST (newsmaster1.prod.itd.earthlink.net) Xref: archiver1.google.com comp.lang.ada:15744 Date: 2001-11-03T18:52:21+00:00 List-Id: Richard Riehle wrote: > > One of the most important benefits of C++ is that, once people have enough > experience with it, it becomes obvious how inherently hideous it is. That's an interesting use of "benefit". :) There is a column in ESP called "Programmer's Toolbox". The author used to present algorithms in Turbo Pascal; while I thought an ALGOL based pseudocode might have been a better choice, the results were generally easily understood, and I found the column interesting and sometimes useful. Then he changed to the then-current fad language, C++. I found the results difficult to understand. When he devoted 3 consecutive columns to the intricacies of redefining "=" (assignment), I stopped reading the column. That was also when I stopped thinking that C++ might have some redeeming social qualities. I think he eventually gave up C++ and is now using C, but with no improvement in clarity. As to language choice for large US defense contracts, in 26 years of professional software development, I have seen numerous such projects, and am acquainted with more through colleagues. They almost all seem to suffer from poor designs and poor implementations (too much code for the functionality). This seems to be the case despite the best efforts of competent software engineers on the projects. While I usually hesitate to ascribe to malice what may be due to incompetence, this effect is so widespread that I have to wonder. I note that only established large defense contractors can successfully bid on large defense contracts, and those contractors have many decades of experience with the government's understanding of software quality and its reaction to cost and schedule overruns. The contractors exist to make money, and the contracts are usually arranged so that the longer the contract takes, the more money the contractor makes. It may even be to the contractor's advantage to have the project fail (terminated by the customer before usable software is delivered). I have seen a contract in which the contractor received hundreds of millions of dollars before the contract was terminated. No failure ever seems to affect the contractors' ability to obtain new contracts. Such projects may be failures from the customer's point of view, but they are very successful from the contractor's. I thus propose that the contractors have a highly optimized technique for finding the saddle point for maximizing profits while not angering the government enough to not win future contracts. Poor designs and implementations take longer to finish and to get working properly. Poor language choice would seem to be another tool to the same end. -- Jeff Carter "I fart in your general direction." Monty Python & the Holy Grail