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-17 10:37:27 PST Newsgroups: comp.lang.ada Path: sparky!uunet!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!news.sei.cmu.edu!firth From: firth@sei.cmu.edu (Robert Firth) Subject: Re: Ichibah flames, and flames out over, Ada 9X Message-ID: <1993Mar17.131819.26774@sei.cmu.edu> Sender: netnews@sei.cmu.edu (Netnews) Organization: Software Engineering Institute References: <1993Mar12.160136.6106@evb.com> <1993Mar13.031104.21673@telesoft.com> <1993Mar15.231916.16276@ennews.eas.asu.edu> Date: Wed, 17 Mar 1993 13:18:19 EST Date: 1993-03-17T13:18:19-05:00 List-Id: In article <1993Mar15.231916.16276@ennews.eas.asu.edu> koehnema@enuxhb.eas.asu.edu (Harry Koehnemann) writes: >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? I'll answer that. The main reason we used "access" instead of "pointer" is that "access" is a semantic concept at the level of the language, while "pointer" is an implementation technique at the level of the underlying machine. We had seen the hideous confusion this mistake had caused in other languages, leading to wrong code, unmaintainable code, and non-portable code. Examples of false assumptions caused by the "pointer" terminology include . an access value is a machine (hardware) address . an access value and an integer are interconvertible . access values with different base types are interconvertible . all access values are the same physical size . arithmetic on access values can be used in lieu of proper high-level iterators To anyone familiar with Ada, these propositions are blatantly false. Replace "access" with "pointer" and they remain false, but almost invisibly so. One goal of Ada was reliable programming. In our opinion, the use of "pointer" terminology was a major source of almost ineradicable design and implementation errors in much then current software. I believe history has vindicated us. Robert Firth