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,b30bd69fa8f63cb2 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-06-12 12:03:47 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!wn14feed!worldnet.att.net!204.127.198.203!attbi_feed3!attbi.com!rwcrnsc52.ops.asp.att.net.POSTED!not-for-mail Message-ID: <3EE8CE83.8090001@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: C bug of the day References: <1054751321.434656@master.nyc.kbcfp.com> <20619edc.0306121040.2fea0695@posting.google.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: rwcrnsc52.ops.asp.att.net 1055444626 24.62.164.137 (Thu, 12 Jun 2003 19:03:46 GMT) NNTP-Posting-Date: Thu, 12 Jun 2003 19:03:46 GMT Organization: AT&T Broadband Date: Thu, 12 Jun 2003 19:03:46 GMT Xref: archiver1.google.com comp.lang.ada:39059 Date: 2003-06-12T19:03:46+00:00 List-Id: Mike Silva wrote: > Yes, it seems like the objection is that Ada doesn't "solve this > problem" because at some point a programmer will actually have to > write code, and that code may have bugs. True, but nothing to do with > "all of the defaults were fundamentally safe." Sort of "agreeing violently" with Mike... The goal in Ada is for as many bugs as possible to be caught by the compiler. Is it possible for the compiler to catch all bugs? Of course not. But based on my experience at least, Ada does catch around 99% of all bugs by the time you have a clean compile. That of course requires that when you see an "unexpected" compiler message, you think about what it means, rather than just papering it over. For example, if GNAT tells me that no function Foo is directly visible, but there is one at Ada.Bar.Foo, there are two cases. One is, "Of course I meant that one, just thought I had a use clause." The other of course is that I was thinking of some other function entirely. I would hate to have a compiler that "fixed" the reference. At least 90% of the time it would be right, but the compiler has no way to know which 90% that is.