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,MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,75a8a3664688f227 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-01-12 13:34:05 PST Path: supernews.google.com!sn-xit-03!supernews.com!mtu.ru!newsfeed.sovam.com!newsfeed.gamma.ru!Gamma.RU!newsfeed.cwix.com!news.maxwell.syr.edu!cpk-news-hub1.bbnplanet.com!news.gtei.net!nntp2.deja.com!nnrp1.deja.com!not-for-mail From: mark_lundquist@my-deja.com Newsgroups: comp.lang.ada Subject: Re: Parameter Modes, In In Out and Out Date: Fri, 12 Jan 2001 21:22:15 GMT Organization: Deja.com Message-ID: <93nshs$400$1@nnrp1.deja.com> References: <7Cx56.90736$A06.3322588@news1.frmt1.sfba.home.com> <937jab$s23$1@nnrp1.deja.com> <3A57CD7F.2228BFD5@brighton.ac.uk> <938p3u$omv$1@nnrp1.deja.com> <93cagm$c1j$1@nnrp1.deja.com> <93e4e6$ucg$1@nnrp1.deja.com> <93l8hm$rlp$1@nnrp1.deja.com> <93mtn6$6t6$1@nnrp1.deja.com> NNTP-Posting-Host: 130.213.200.208 X-Article-Creation-Date: Fri Jan 12 21:22:15 2001 GMT X-Http-User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt) X-Http-Proxy: 1.1 x59.deja.com:80 (Squid/1.1.22) for client 130.213.200.208 X-MyDeja-Info: XMYDJUIDmark_lundquist Xref: supernews.google.com comp.lang.ada:3969 Date: 2001-01-12T21:22:15+00:00 List-Id: In article <93mtn6$6t6$1@nnrp1.deja.com>, dmitry6243@my-deja.com wrote: > In article <93l8hm$rlp$1@nnrp1.deja.com>, > mark_lundquist@my-deja.com wrote: > > In article <93e4e6$ucg$1@nnrp1.deja.com>, > > Robert Dewar wrote: > > > > > > It is NOT "using all advantages of [a] concept" to insist that > > > it be used absolutely everywhere. On the contrary, that kind of > > > approach leads to a much more restrictive and less useful > > > expressive power. > > > > Very true. > > > > My favorite example is the notion of "purity" of OO languages, which > > holds that some good comes from the ability to say "everything is a > > class". The only result is that you have to contort everything into > > _being_ a class for the sake of being able to say this, so for > > instance you have to have a "singleton" design pattern to work around > > not having packages with state, etc. > > Actually there are two different concepts here. One is that all > language things are objects. Which is absurd because the word "all" > makes the term object useless. Yes. Alex Stepanov of STL renown makes that point in this interview: http://www.stlport.org/resources/StepanovUSA.html The problem I have with the whole premise of "pure OO", though, is the equivocation on the terms "object" and "object oriented". OO is about the idea that you deal with abstractions (interfaces) and not with representations. That plays out in three concepts: encapsulation, inheritance, and dynamic polymorphism. Making "everything a class" doesn't singularly facilitate any of these three aspects in better form or greater measure; what it facilitates is just programming where everything is a class! Instead of having constructs that fit their use, you have one construct whose use is then specialized (sometimes in syntactically expensive ways) and then you have to figure out the use by inspection. In some ways I prefer the term "abstraction-oriented programming", because the term "OOP" has become so muddled. Sent via Deja.com http://www.deja.com/