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.7 required=5.0 tests=BAYES_00,INVALID_DATE, REPLYTO_WITHOUT_TO_CC 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-15 17:26:56 PST Newsgroups: comp.lang.ada Path: sparky!uunet!wupost!cs.utexas.edu!asuvax!ennews!enuxhb.eas.asu.edu!koehnema From: koehnema@enuxhb.eas.asu.edu (Harry Koehnemann) Subject: Re: Ichibah flames, and flames out over, Ada 9X Message-ID: <1993Mar15.231916.16276@ennews.eas.asu.edu> Followup-To: comp.lang.ada Sender: news@ennews.eas.asu.edu (USENET News System) Reply-To: koehnema@enuxhb.eas.asu.edu (Harry Koehnemann) Organization: Arizona State University References: <1993Mar12.160136.6106@evb.com> <1993Mar13.031104.21673@telesoft.com> Date: Mon, 15 Mar 1993 23:19:16 GMT Date: 1993-03-15T23:19:16+00:00 List-Id: In article <1993Mar13.031104.21673@telesoft.com> kst@telesoft.com (Keith Thompson @pulsar) writes: > >Once I had made that connection, I didn't have any problem understanding >what access types are and how they work; most of what I had learned about >Pascal pointer types applied almost directly to Ada access types. And look how the word "access" has completely removed "pointer" or "reference" from existence in the CS world :). But really, why take a very well understood concept and name it something completely off the wall. Didn't Ada desire to facilitate understanding, rather than get in it's way? >My point is that these minor differences in terminology (pointers vs. >access types, classes vs. tagged types, functions returning void vs. >procedures) really don't matter. It should take literally no more than >a few seconds to make the connection between similar features in >different languages, once the correlation is pointed out. This of course is not true. The mapping between a Pascal "pointer" variable and an Ada "access" variable is well understood. Only minor semantic differences exist between the two. However, no such mapping exists between a Smalltalk/Eiffel/C++ "class" and an Ada "tagged type/ package/generic/task" (objects with separate threads of control). I'll contend that translating an OO design into the Ada paradigm is not a straight forward activity for someone raised on these other languages (if it is a straight forward activity at all). It is certainly not as trivial as making the transition from pointers to access types (if you can call "access" = "pointer" a transition). >The Ada 9X reference manual should probably have a note pointing out >the correlation between tagged types and the various class constructs >of C++ and other object-oriented languages. This is not as simple as it might seem and if anything would probably do more harm than good. If you're going to use a new paradigm, learn it, understand it, and *then* build smoething in it. Don't take the cheesy way out and use some mechanical translation algorithm without understanding what's being created. I can already see the subject line: "Wanted C++ to Ada9X translator". I'd love to see that Ada code. >-- >Keith Thompson (The_Other_Keith) kst@telesoft.com >TeleSoft^H^H^H^H^H^H^H^H Alsys, Inc. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Now that's funny. -- Harry Koehnemann Arizona State University koehnema@enuxha.eas.asu.edu Computer Science Department