Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!gem.mps.ohio-state.edu!apple!bloom-beacon!eru!luth!sunic!tut!tukki!sakkinen From: sakkinen@tukki.jyu.fi (Markku Sakkinen) Newsgroups: comp.lang.c++ Subject: OO terminology (Was: OO Design books) Keywords: OOP, books Message-ID: <1333@tukki.jyu.fi> Date: 20 Sep 89 06:37:36 GMT References: <583@calmasd.Prime.COM> <4557@orca.WV.TEK.COM> Reply-To: markku@jytko.jyu.fi (Markku Sakkinen) SAKKINEN@FINJYU.bitnet (alternative) Organization: University of Jyvaskyla, Finland Lines: 43 In article <4557@orca.WV.TEK.COM> brucec@demiurge.WV.TEK.COM (Bruce Cohen) writes: > [...] >There is also a regrettable tendency even among the well-informed to be >careless in their use of OO terminalology (even when the proponents of >different languages agree on the meaning of the terms). I find a classic > [...] >Now, as you can see from *my* terminology, I learned Smalltalk as a first >OOL, and I tend to hark back to it. I find that I have to sometimes, >because C++ terminology is either impoverished (I'd much rather say >"superclass", than "immediately ancestral base class"), or the meaning of >terms is fuzzy from ambiguous use (many people use "object" and "class" >interchangeably to mean "instance of class object"). The regrettably ambiguous use of the word 'class' stems from Stroustrup's original book, and is perhaps caused by the fact that classes are no first-class runtime citizens in C++ (as opposed to Smalltalk). Another not so well chosen term in C++ jargon is 'member' (or rather, the precise meaning given to 'member' is not well chosen). I would also prefer 'subclass' to 'derived class': if a class X consists of an array of class Y objects, say, equipped with some member functions, then one could also like to say that X is "derived" from Y. If computer science followed the pattern of biology as regards nomenclature, then the first name given to a correctly identified and described "species" would remain official. In the case of OOP, the terms coined for Simula in 1966 - 1968 should have precedence over newer names for the same things. In my opinion, the justification for such Smalltalk terminology as "message passing" and "methods" is dubious. Unfortunately, a convergence of terminology is not in sight. An example comes from the Modula-3 Report: the meanings of the words 'object' and 'variable' are exchanged with respect to e.g. Smalltalk. That certainly made it difficult to read the report at first! > [...] (I can essentially agree with everything Cohen wrote.) Markku Sakkinen Department of Computer Science University of Jyvaskyla (a's with umlauts) Seminaarinkatu 15 SF-40100 Jyvaskyla (umlauts again) Finland