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.9 required=5.0 tests=BAYES_00,LOTS_OF_MONEY autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,19e983c5955f75f X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-04-06 00:04:08 PST From: "Martin Dowie" Newsgroups: comp.lang.ada References: <9af9ao$6ee$1@taliesin.netcom.net.uk> Subject: Re: Learning Ada (newbie) Date: Fri, 6 Apr 2001 08:04:59 +0100 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 NNTP-Posting-Host: sg2c11210.dsge.edinbr.gmav.gecm.com Message-ID: <3acd6863$1@pull.gecm.com> X-Trace: 6 Apr 2001 07:55:31 GMT, sg2c11210.dsge.edinbr.gmav.gecm.com Path: supernews.google.com!sn-xit-02!supernews.com!news.tele.dk!212.74.64.35!colt.net!dispose.news.demon.net!demon!btnet-peer0!btnet-feed5!btnet!newreader.ukcore.bt.net!pull.gecm.com!sg2c11210.dsge.edinbr.gmav.gecm.com Xref: supernews.google.com comp.lang.ada:6551 Date: 2001-04-06T08:04:59+01:00 List-Id: what happened to point 5) - the anonymous point! :-) Mark Lundquist wrote in message news:z75z6.679803$U46.21074483@news1.sttls1.wa.home.com... > > Ayende Rahien wrote in message > news:9af9ao$6ee$1@taliesin.netcom.net.uk... > > > 4) Safe pointers. > > 6) A crisp model for inheritance and dynamic polymorphism that is *not* > based on the idea of a "class". IMHO, class-oriented languages > (Simula/Smalltalk/C++/Java etc.) embody an intellectual error in their > treatment of encapsulation (privacy and primitive operations, a.k.a. > methods), by making the the "class", which is really a type definition, also > the unit of modularity. The conflation of "module" and "type" in the notion > of "class" results in all kinds of distortions: special syntax and sematic > complexities for various types of constructors (constructors as a > language-level concept do not exist in Ada, since they are unnecessary > without classes), the need for a "singleton" idiom, and the need for > "friend" classes. > > Also, Ada's dispatching model is nice and clean. Inheritance does not > imply dispatching, and dispatching is a property of the method invocation, > not just the method declaration. And you can dispatch on the return type of > a function, not just parameter types. >