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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,971aa11c293c3db1 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-07-21 11:19:32 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!cyclone.bc.net!newsfeed.direct.ca!look.ca!newsfeed1.earthlink.net!newsfeed2.earthlink.net!newsfeed.earthlink.net!news.mindspring.net!not-for-mail From: Lao Xiao Hai Newsgroups: comp.lang.ada Subject: Re: Ada The Best Language? Date: Sat, 21 Jul 2001 11:20:17 -0700 Organization: AdaWorks Software Engineering Message-ID: <3B59C7E1.A76D4A66@ix.netcom.com> References: <5be89e2f.0107170838.c71ad61@posting.google.com> <9j1uio$8br$1@nh.pace.co.uk> <5be89e2f.0107171810.1cee29c0@posting.google.com> <3B55C6B0.C2ED36@san.rr.com> <5be89e2f.0107181251.2a616bc4@posting.google.com> Reply-To: richard@adaworks.com NNTP-Posting-Host: 9e.fc.c4.08 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Server-Date: 21 Jul 2001 18:18:51 GMT X-Mailer: Mozilla 4.7 [en] (Win98; I) X-Accept-Language: en Xref: archiver1.google.com comp.lang.ada:10407 Date: 2001-07-21T18:18:51+00:00 List-Id: codesavvy wrote: > > Does C++ offer built in and portable multitasking, protected objects, > > real-time performance, built-in portable interrupt interfacing, > > distributed programming? > > No but do you have any data that measures how much more productive an > Ada developer is using these features? BTW I like these features in > Ada 95 a lot. I doubt, however, that producitivity is increased > significantly by having them available. I thought Robert might respond to this since he has often dealt with this issue so succinctly and with such clarity. I'll give it a shot, echoing Robert's most cogent points. Ada is intended to be more readable than writeable. Consequently, simple measures of productivity involving SLOC per man-month, etc. seldom have a direct relationship to the lifecycle metrics of an Ada project. For software with a long lifespan, the more readable the code, the more easily it is to understand it. Since some estimates put the ratio of source code at 20 percent for development and 80 percent for maintenance, this becomes important. Moreover, that 80 percent has sometimes been anecdotally divided into its own percentages where 80 percent of the maintenance is trying to figure out what the code does, two percent making the changes, and eight percent doing the testing. These are WAG's, of course, but reflect yet another of Ada's goals: enhance the understandability of the code so future programmers can be more productive during maintenance. Another important goal of Ada is to have a language design that makes it possible for a compiler to catch as many errors as possible as early in the development process as possible. This particular feature of the language is one reason why many of us choose it over some alternative such as C++. Some of us, not you obviously, regard Ada as a productivity tool that helps us with quality issues early in the software lifecycle. Productivity without quality is of dubious value when creating serious software. This is not to impugn the quality of your software. Rather, some of us feel we are more effective using the crutch of a tool such as Ada that keeps us from making the kinds of mistakes we might make in a less rigorously defined language such as C++. Be gentle with us. Were we more intelligent, more careful, more skillful, we might not need the kind of protection afforded by Ada. Meanwhile, those who are better qualified to deal with the mysteries of C++ are free to pursue their craft without the guarantees provided by Ada. So be it. Go forth and debug. Richard Riehle richard@adaworks.com http://www.adaworks.com