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-16 11:05:48 PST Newsgroups: comp.lang.ada Path: sparky!uunet!widget!pole From: pole@evb.com (Tom Pole) Subject: re: Classes versus tagged types was Ichibah flames, and flames out over, Ada 9X Message-ID: <1993Mar16.173520.23858@evb.com> Organization: EVB Software Engineering, Inc. References: <1993Mar12.160136.6106@evb.com> <1993Mar12.225943.3648@nosc.mil> Date: Tue, 16 Mar 1993 17:35:20 GMT Date: 1993-03-16T17:35:20+00:00 List-Id: In article <1993Mar12.225943.3648@nosc.mil> sampson@nosc.mil (Charles H. Sampson) writes: >In article <1993Mar12.160136.6106@evb.com> pole@evb.com (Tom Pole) writes: > >> >>A class is a class. If Ada wants to add the ability to have >>inheritance/specialization similar to what is available in other >>OOPL's, the OO world calls the common definition >>of a type which supports specialization a class, and instantiations >>of that type objects. Ada can use the same terms if it wishes. > > What about that part of the published OO world that uses the terms >object and instance for those concepts? The point of that rhetorical >question is, of course, OO terminology is far from fixed. If the 9X >boys can come up with a better term, particularly if they're trying to >make it clear that the thing they've defined is not the same as the C++ >thing, good for them. Classes, objects and instances are not three different terms for a single concept. One noted OO expert's graphic presentation excepted, classes and objects are two different concepts. (No I'm not talking about Booch). An object is a logical collection of state and functionality. (if you want to argue unfixed, let's argue the oft used but never defined 'logical collection' ) A class defines the commonality of a set of objects. An instance of a class is an object that is of that class, and defined at least in part by inheriting state and functionality from the class definition. An object need not be an instance of a class, see Ada. An instance is a kind of object that is defined at least in part by its class. I could polish those definitions a little, but almost all (there are always flames to be ignited) C++, Eiffel (did I misspell it again ?), Smalltalk, CLOS, etc programmers will understand the meanings of these terms. OO is not fixed among all practicioners, Agreed. Far from fixed, nope. The terms that still cause people to get to bed late and drink too much beer at OOPSLA are not class, object or instance. > > That said, I have a lot of trouble with tagged. It's just a long- >held belief of mine that a language feature shouldn't even appear to be >suggesting its implementation. Here Here !!! (or is that hear hear ? See the problems you have when your semantics aren't fixed ? ) Thomas > > Charlie -- Thomas Pole