Path: utzoo!utgpu!water!watmath!clyde!bellcore!faline!thumper!ulysses!andante!alice!bs From: bs@alice.UUCP Newsgroups: comp.lang.c++ Subject: Re: oo definition request Message-ID: <7868@alice.UUCP> Date: 12 May 88 10:30:40 GMT References: <4800021@uiucdcsm> <9532@apple.Apple.Com> Organization: AT&T Bell Laboratories, Murray Hill NJ Lines: 37 Posted: Thu May 12 06:30:40 1988 Dan Allen frompple Computer Inc, Cupertino, CA writes > Peter Wegner's paper presented at OOPSLA 87 (entitled "Dimensions of > Object-Based Language Design") had this formula: > object oriented = objects + classes + inheritance. > Using this as a definition excludes Ada, Modula-2, and other languages > that DO support abstract data types. For Wegner, if fields of an object > can be accessed directly (like fields in a record), it was > object-oriented, but if fields of an object can only be accessed through > function calls to an object's methods, then it supported data > abstraction. I do not know what he would say about C++ in specific > which supports EITHER paradigm, or a mix of them, as Wegner made this > distinction an orthogonal distinction. This is an easy one. I was there. Wegner specifically mentioned C++ as one of the two languages that supports BOTH abstract data types and object-oriented programming (the other was DEC's experimental system/language Trellis/Owl). It is just a pity he didn't WRITE that too. > In light of all this, I would say that his definition is still a fair > one. I would be very curious to hear what Stroustrup would have to say > about this formulaic definition. About the best you can do on one line. Defining a popular word such as ``object-oriented'' is confounded with many practical difficulties. For example, I don't really think you could find agreement on a single PRECISE definition of the words ``object'', ``class'', and ``inheritance'' acros the specter of languages to which they could reasonably be applied. acros the specter of languages to which they could reasonably be applied. My two bits on the confused subject of ``What is Object-Oriented Programming?'' can be found in my paper with that title in this month's issue of IEEE Software. It is also in the Santa Fe proceedings.