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,38fc011071df5a27 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-06-16 22:10:06 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!canoe.uoregon.edu!arclight.uoregon.edu!wn13feed!wn12feed!worldnet.att.net!204.127.198.203!attbi_feed3!attbi_feed4!attbi.com!sccrnsc04.POSTED!not-for-mail Message-ID: <3EEEA28B.30604@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: Ideas for Ada 200X References: <3EE7CC70.E1FD3A67@adaworks.com> <3EECA772.4B662024@adaworks.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit NNTP-Posting-Host: 24.62.164.137 X-Complaints-To: abuse@attbi.com X-Trace: sccrnsc04 1055826603 24.62.164.137 (Tue, 17 Jun 2003 05:10:03 GMT) NNTP-Posting-Date: Tue, 17 Jun 2003 05:10:03 GMT Organization: AT&T Broadband Date: Tue, 17 Jun 2003 05:10:03 GMT Xref: archiver1.google.com comp.lang.ada:39308 Date: 2003-06-17T05:10:03+00:00 List-Id: Richard Riehle wrote: > Perhaps I am an old fuddy-duddy when it comes to Ada. However, my programming > experience pre-dates the advent of Ada by some considerable number of years. I > have made, during my career, as many or more programming mistakes as anyone > alive. Perhaps that is a function of my cultivating my own stupidity more > effectively than most of my contemporaries. One reason I appreciate Ada is the > way it helps me look smarter than I really am when creating code. I rely, > perhaps too much, on the compiler to trap those silly little mistakes I so often > made when programming in some earlier languages, including Assembler, COBOL, > Fortran, PL/I, Neat 3, BASIC, C ( and later C++) to name a few. Same goes for me. Every time I write some new Ada code I am astonished at how many things the compiler can find to complain about. But I would be even more astonished if once the code compiled cleanly, it failed to pass all the test cases. This doesn't mean that I don't make mistakes when programming, I do. But so many of those errors are caught by the Ada compiler that perhaps one error per thousand makes it through into compiled code. That's why I always produce test cases with every unit and run them. (And none of this can be any help if I misunderstand the requirements--that is what code reviews are for.) If I program in C or C++, I probably make exactly as many errors as in Ada. I have much more experience with PL/I, and I know that it is true there. But in PL/I, perhaps 10% of errors make it through to compiled code (usually in the form of implicit conversions). Fortran and C are worse, much worse. In fact, I can unequivocably state that in all my years programming in Ada, I have found more bugs in the (writen in assembler, C or PL/I) operating systems than I have in my Ada code once it compiled. That is not quite as bad as it sounds, since in some cases, supporting the OS, or integrating Ada compiler support into the OS was a part of my job. But it has even been true with fielded commercial OSes. For example, I remember a case where Solaris required a constant string parameter--and modified the string in the kernel. Very bad juju. Of course, the workaround in the Ada code was to make the string (I think the choices were "UDP" and "TCP") an in out parameter.