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