Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!amdahl!apple!dan
From: dan@Apple.COM (Dan Allen)
Newsgroups: comp.lang.c++
Subject: Re: oo definition request
Message-ID: <9532@apple.Apple.Com>
Date: 11 May 88 19:36:35 GMT
References: <4800021@uiucdcsm>
Reply-To: dan@apple.UUCP (Dan Allen)
Organization: Apple Computer Inc, Cupertino, CA
Lines: 20

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.

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.

Dan Allen
Software Explorer
Apple Computer