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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,d1df6bc3799debed X-Google-Attributes: gid103376,public From: mheaney@ni.net (Matthew Heaney) Subject: Re: Not intended for use in medical, Date: 1997/05/11 Message-ID: #1/1 X-Deja-AN: 240953902 References: <3.0.32.19970423164855.00746db8@mail.4dcomm.com> <5kmek2$9re@bcrkh13.bnr.ca> Organization: Estormza Software Newsgroups: comp.lang.ada Date: 1997-05-11T00:00:00+00:00 List-Id: In article , dewar@merv.cs.nyu.edu (Robert Dewar) wrote: >Many people posit all sorts of interesting theories about why Algol-68 >"failed", but the simple fact of the matter is that Algol-68 succeeded >where good compilers were available, and failed where they were not! That's a weak argument, Robert. Many computer scientists (Tony Hoare, for example) define the "goodness" of a language (partly) as the ease of which a compiler can be written. If Algol-68 failed where there were "no good compilers," that could be interpreted to mean that Algol-68 was too complex a language to implement. This is the argument people use against Ada. I often see comparisons of PL/I, Algol-68, and Ada, in an argument that goes something like this: Big languages are bad. Ada is big. Therefore, Ada is bad, too. Obviously, I don't think lumping Ada in the same category as PL/I and Algol-68 is a fair comparison. Ada is big, but it is arguable whether Ada is complex. Those of us that actually use Ada know it has a coherent design, but that requires a fair amount of study to learn all of its nooks and crannies. (Example: many Ada programmers don't know that an array whose component subtype is Boolean comes with "or", "and", and "xor" as predefined operators.) (And by "fair amount of study," I only mean read at least a couple of books (Barnes and Cohen, say) from cover to cover. I've met few programmers that even do that; they usually just look something up when they're writing something that doesn't compile. Sadly, these programmers never learn all the features of the language that can make their life Really Easy, because they never try to learn the things they don't already know. But this problem isn't endemic to Ada: I've met many C programmers that never even got through K&R, which is all of 150 pages.) Perhaps compiler writers would care to comment on the difficulty of implementing an Ada compiler, and whether Ada is too complex. The author of Safer C, Les Hatton, argues that a language that has a lot of requests for interpretation (that means Ada, with its ARG) shouldn't be used to program safety-critical systems. I'm incredulous that he argues that C but not Ada can be made safe enough for that class of system - he advocates not using Ada at all - but what argument do we use as a refutation? Tony Hoare, in his Turing Award lecture, described Ada as having an "unnecessary plethora of features and notational conventions," and admonished not using the language "in its present state" (circa 1980) "where reliability is critical." If Tony Hoare says it, it must be so. Right? Thankfully, at least one author, David Watt (Programming Language Concepts and Paradigms) is sympathetic to Ada, and notes in his book that "Ada has done a good job of controlling its complexity." In fact, the school where he teaches, University of Glasgow, has selected Ada as the core language in which to teach its computer science students. -------------------------------------------------------------------- Matthew Heaney Software Development Consultant (818) 985-1271