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,71dcda1787f0bed5 X-Google-Attributes: gid103376,public From: pontius@btv.vnet.ibm.com (Dale Pontius) Subject: Re: Success: Ada versus C Date: 1997/06/06 Message-ID: <5n9l3m$f2e$3@mdnews.btv.ibm.com>#1/1 X-Deja-AN: 246602218 References: <33984686.9A8@gdls.com> Organization: IBM Microelectronics Division Newsgroups: comp.lang.ada Date: 1997-06-06T00:00:00+00:00 List-Id: In article <33984686.9A8@gdls.com>, Arthur Schwarz writes: >... > compilers for Pascal were available (ala Borland). Despite its > deficiencies, it was gradually being expanded in capability, supplanted > by other 'better' languages (Ada and Modula for two), and then it > died. I've heard reasons why. I don't understand them. But it died > as it appears that Ada might. >... IMHO: I suspect that the real issue here is that C and C++ are "good enough" to get the job done. So people go out and do jobs with them. By contrast, the 'purist' languages of Pascal-descent wind up arguing over purity issues, not doing real work. That's not to say that real work isn't done with Pascal-descent languages, but that the evolution of the language is wrapped up and held up in purity discussions. By the time Modula2 got through its standardization, it was irrelevant as a language. The last time I looked at its successor Oberon2, people were insisting that interoperation with legacy tools was unneccessary - I should move everything I do to Oberon2. More "language purism." Another aspect is language origin. Pascal began as a teaching language. As such, it got a 'toy' library, that wasn't up to doing real work. Borland came along with a better library, but on the PC only, and with apparently no concern for Unix. That was probably the single biggest death-blow to the Pascal family. Borland took the mass market that drives cost and splintered it from the Unix market that had much-needed sophistication. Since C began as a Unix tool, it began with a decent library, and C++ sat on it's shoulders. This leaves Ada... Really, in better shape than Pascal. While there is no shortage of Language Lawyers on Ada, the standard is in place and isn't holding up any development. I guess the time to get Ada95 ISO hurt, but in the meantime Ada83 was out and doing Real Work. I think that's the biggest factor - Ada does Real Work. The standard library set that comes with it is considerably more "industrial strength" than the original Pascal or Modula2 libraries. (Especially considering libraries weren't in Pascal in the first place.) I can think of two (certainly more) thinks holding Ada95 back now: 1) It's still "not C", and doesn't quite work the way the "regular" stuff does. There are more bindings to common C libraries appearing, though it would be nice to see a general technique to bind to C++ libraries. (I know it's C++'s fault, but still...) It would also be good to see an Ada-GUI library that doesn't taste like warmed-over C. 2) There is a "Purity" emphasis to the language that leaves you (or at least me) fearing that it "CAN'T" be fast. For instance, the whole discussion of copying IN and OUT the parameter list leaves a taste of poor performance. Read further and you see that pass-by-reference is allowed in this case for structures. There's also the insistance of folks like Mr. Dewar that GNAT generates code just like gcc. (Obviously!) The default inclusion of runtime checking in Pascal and its default exclusion in C add to this perception. Dale Pontius (NOT speaking for IBM)