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,3885b7fd66a1db28 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-01-09 07:31:54 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!bloom-beacon.mit.edu!news-out.cwix.com!newsfeed.cwix.com!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.freenet.de!news-lei1.dfn.de!news-koe1.dfn.de!RRZ.Uni-Koeln.DE!uni-duisburg.de!not-for-mail From: Georg Bauhaus Newsgroups: comp.lang.ada Subject: Re: Why is Ada NOT a good choice for a beginner to programming? Date: Thu, 9 Jan 2003 15:31:53 +0000 (UTC) Organization: GMUGHDU Message-ID: References: <8ivo1vo5ir3piqsck4ondj0cuo47g426kf@4ax.com> <9gMS9.483613$GR5.189928@rwcrnsc51.ops.asp.att.net> NNTP-Posting-Host: l1-hrz.uni-duisburg.de X-Trace: a1-hrz.uni-duisburg.de 1042126313 1330 134.91.1.34 (9 Jan 2003 15:31:53 GMT) X-Complaints-To: usenet@news.uni-duisburg.de NNTP-Posting-Date: Thu, 9 Jan 2003 15:31:53 +0000 (UTC) User-Agent: tin/1.5.8-20010221 ("Blue Water") (UNIX) (HP-UX/B.11.00 (9000/800)) Xref: archiver1.google.com comp.lang.ada:32828 Date: 2003-01-09T15:31:53+00:00 List-Id: Wes Groleau wrote: : : After reading that report, I don't place any value : on what he said. I've used derived types, subtypes, : and other abstraction-supporting features of Ada and : I _know_ they're valuable. One complaint he had was that it be possible to define a Length using derived types and still have "*" return values of type Length, when it should return an area. He had a point, hadn't he? OTOH, with only structural equivalence of types, and no way to derive both an integral length type and an integral area type, that are really diferent, how can you build areas into your types, such that the compiler will prevent use of values of the wrong type? In which languages has this been fixed? There is also a tutorial on Algol 68, an equally blamed language. It is written by Andrew Tanenbaum; if you start reading it, you will immediately note how many misfeatures of Algol 68 were corrected in Ada. One example is case statements that do not cover the whole set of values allowable in a type, like is still possible in C++, and Java (with the addition of "cleverly" treating one value in two or more cases); this was also critisized by Hoare in his Turing Award Lecture, iirc, and it is also fixed in Ada. So it would be more interesting to hear what EWD would have said about Ada in the 90s. What's more, would we be thinking about a decent pre/postcondition/invariant mechanism, or the removal thereof after proving your algorithm correct, as is present in Eiffel .. SPARK, and to some extent in Ada's types, without EWD insisting? -- Georg