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.