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=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,7251fa99aab97e06 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1993-03-11 01:59:39 PST Path: sparky!uunet!elroy.jpl.nasa.gov!usc!sol.ctr.columbia.edu!ira.uka.de!scsing.switch.ch!sicsun!disuns2.epfl.ch!lglsun!magnus From: magnus@lglsun.epfl.ch (Magnus Kempe) Newsgroups: comp.lang.ada Subject: Re: Ichibah [sic] flames, and flames out over, Ada 9X Message-ID: <1993Mar11.090445@lglsun.epfl.ch> Date: 11 Mar 93 08:33:47 GMT References: <1993Mar10.201515.6295@evb.com> Organization: Ecole Polytechnique Federale de Lausanne NNTP-Posting-Host: lglsun4.epfl.ch Date: 1993-03-11T08:33:47+00:00 List-Id: In article <1993Mar10.201515.6295@evb.com>, jgg@evb.com (John Goodsen) writes: : If you don't make it easy for someone on the language search to see : that Ada supports the concept of "class", then the acceptance of the : language for OO development will not meet it's true potential. In Ada 9X, you will be able to declare e.g. class-wide objects and access types, such as: type Stack_Ref is access Stack'class; A : Stack'class; Is it easy enough to see that Ada 9X has "class" ? : If the solution is to change the syntax from "tagged type" to : "class" and leave it at that, then it doesn't sound like too : much of a problem... Contrary to OOP languages where objects per se are polymorphic, Ada objects are monomorphic since Ada has by-value semantics. Ada 9X programmers will _also_ be able to manage by-reference semantics to have polymorphic references to objects, which is what other OOP languages really provide. Generally, a class declaration in an OOPL implies that instances may belong to the class itself or to a subclass, and that they are polymorphic; in consequence, OOPLs rarely perform any significant amount of strong, static type checking. You don't want to throw away Ada's strong type system and static checking, do you? Anyway, I doubt that the adoption of Ada 9X will rest on the ability of C++ programmers to grasp that "tagged" is somehow an equivalent of their "class". I don't think they will, since most C++ programmers that I know enjoy C++ "because it's compatible with C". Ada is incompatible with C-oriented minds. And that's a Good Thing. If you want to learn of the many problems with C++, go read "C++?? A Critique of C++", Ian Joyner (e-mail: ian@syacus.acus.oz.au) "A Critique of the Inheritance Principle of C++", Markku Sakkinen, in Computing Systems, Vol. 5, No. 1, Winter 1992 "The Darker Side of C++ Revisited", Markku Sakkinen, in Structured Programming (1992) 13: pp. 155-177. (Warning: Referenceless flames and other hate-mail ignored on principle :-) -- Magnus Kempe "No nation was ever drunk when wine was cheap." magnus@lglsun.epfl.ch -- Thomas Jefferson