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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,91276ec2ea911d3f X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!news-feed01.roc.ny.frontiernet.net!nntp.frontiernet.net!newsswing.news.prodigy.com!prodigy.net!newsfeed-00.mathworks.com!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: Generic procedures and their parameters Date: 10 Sep 2006 07:49:15 -0400 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls4.std.com 1157888955 27747 192.74.137.71 (10 Sep 2006 11:49:15 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Sun, 10 Sep 2006 11:49:15 +0000 (UTC) User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: g2news2.google.com comp.lang.ada:6541 Date: 2006-09-10T07:49:15-04:00 List-Id: "Jeffrey R. Carter" writes: > Robert A Duff wrote: > > Note that making everything tagged, and having a root Object type in > > the > > hierarchy doesn't really make everything OO. OO-ness really comes from > > 'Class, mainly. > > OO-ness (object-oriented-ness) is a design attribute. Well, yeah, that's true. I guess I'm focusing on language features that support OOP, as opposed to OOP itself. And I'm deliberately ignoring OOD and OOA, which are, to a large extent, snake oil. >... You can have > perfectly good OO-ness without type extension, dispatching, or > 'Class. You can have it in Ada 83 or assembler. Similarly, the use of > type extension, dispatching, or 'Class doesn't give you OO-ness. They > give you programming by extension, which does not necessarily have > anything to do with OO-ness. I'll quibble with the Ada 83 part. Part of OOP is the "open-closed principle", which means you can change/extend behavior of something without modifying its source code. That really requires dispatching, or something very much like it, and Ada 83 doesn't have any form of indirect call with which to similate that. Asssembly languages do, though. Of course, you can simulate (say) Smalltalk in Ada 83, and then do OOP using that, but then that's not quite Ada programming anymore. - Bob