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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f43e6,899fc98b2883af4a X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,583275b6950bf4e6 X-Google-Attributes: gid103376,public X-Google-Thread: 11232c,59ec73856b699922 X-Google-Attributes: gid11232c,public X-Google-Thread: fdb77,5f529c91be2ac930 X-Google-Attributes: gidfdb77,public X-Google-Thread: 1108a1,59ec73856b699922 X-Google-Attributes: gid1108a1,public X-Google-ArrivalTime: 2003-05-14 18:47:24 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: softeng3456@netscape.net (soft-eng) Newsgroups: comp.lang.java.advocacy,comp.object,comp.lang.ada,misc.misc,comp.software-eng Subject: Re: Quality systems (Was: Using Ada for device drivers? (Was: the Ada mandate, and why it collapsed and died)) Date: 14 May 2003 18:47:23 -0700 Organization: http://groups.google.com/ Message-ID: <9fa75d42.0305141747.5680c577@posting.google.com> References: <9fa75d42.0304230424.10612b1a@posting.google.com> <9fa75d42.0305090612.261d5a5c@posting.google.com> <9fa75d42.0305091549.48b9c5d9@posting.google.com> <7507f79d.0305121629.5b8b7369@posting.google.com> <9fa75d42.0305130543.60381450@posting.google.com> <254c16a.0305140549.3a87281b@posting.google.com> NNTP-Posting-Host: 12.243.127.233 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1052963244 19383 127.0.0.1 (15 May 2003 01:47:24 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 15 May 2003 01:47:24 GMT Xref: archiver1.google.com comp.lang.java.advocacy:63820 comp.object:63410 comp.lang.ada:37338 misc.misc:14186 comp.software-eng:19190 Date: 2003-05-15T01:47:24+00:00 List-Id: mcq95@earthlink.net (Marc A. Criley) wrote in message news:<254c16a.0305140549.3a87281b@posting.google.com>... > But where in the above dichotomy does the following situation fit? A > project where: > > 1) Good people were hired and given the tools they needed. > 2) One of those tools was a "militaristic" Ada compiler that caught > oversights at both compilation and run-time. > 3) A quality software architecture was devised that a) rigorously > adhered to an object oriented methodology (OMT), and conformance to > that architecture was enforced, and b) intentionally exploited the > capabilities of the Ada programming language (such as concurrency and > heavy use of typing and subtyping). > 4) An SEI CMM Level 3 conformant defect tracking/rework/build/recheck > process was utilized that was tight and optimized as hell. Defect > identification, analysis, resolution, checkout in a developmental > build, and incorporation into the baseline had gotten to the point of > same-day turnaround for the overwhelming majority of defects. (Of > course the fact that defects were getting more and more sporadic aided > that turnaround time.) > > The end result of the project was a serious weapon command and control > system that came in on schedule, on budget, with no late nights or > weekends required of either the development or test staff, and the > lowest number of unresolved defects in any production release of the > system--1 of severity 4 (out of 5, where 1 is critical, and 5 is > considered a nice-to-have). > > In addition, this system was a clean sheet redesign of an existing > system, so while it did have the advantage of lessons learned from the > previous systems, it was still a "Release 1.0" for all intents and > purposes. > > How could such a thing be? > > Marc A. Criley I don't agree that Ada is likely to be particularly useful for catching errors in a professional environment -- say 2-3% of the actual errors at best. If it's catching more than that, I don't see how you can have good people. But good people can certainly make projects succeed using many kinds of tools, including Ada. The only thing is they might privately grumble more, and may often have to get C/C++ libraries written by outside vendors or themselves. (Usually there are excuses - We could have done it all in Ada, except for this and that... But excuses or not, if you need a graphics library for a new device, you would typically not write it in Ada. You will wait until someone writes it in C++, they you will wait until that someone gives you an Ada API. This is ok in the government industries. But private enterprises quickly lost their enthusiasm for Ada due to such reasons -- while they are waiting for the Ada API to come through, their competitor using C++ would be eating their lunch! In the early days of PCs, people had to often write many things from scratch, and address CGA and VGA and whatnot cards, and draw pixels, and interface to telephony cards... All that would have been practically impossible in Ada. If such pressures are not involved, of course, you can get many things done with Ada given enough time, libraries and APIs. Specially if you have a good bunch of people.)