Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/3/84; site panda.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!bellcore!decvax!genrad!panda!rmc From: rmc@panda.UUCP (R. Mark Chilenskas) Newsgroups: net.lang,net.lang.st80 Subject: Re: What is Object-Oriented Message-ID: <285@panda.UUCP> Date: Sun, 10-Feb-85 19:44:19 EST Article-I.D.: panda.285 Posted: Sun Feb 10 19:44:19 1985 Date-Received: Tue, 12-Feb-85 05:11:46 EST References: <3013@umcp-cs.UUCP> <117@tove.UUCP> Reply-To: rmc@panda.UUCP (R. Mark Chilenskas) Organization: GenRad, Inc., Concord, Mass. Lines: 38 Xref: watmath net.lang:1409 net.lang.st80:185 Summary: One article in the "quest for a definition of object oriented" requested an example of a type of inheritance which is not included in Smaltalk. I think that the AI "knowledge representation languages" such as Pearl or Omega. They provide inheritance of demons which are fired when the "status" of objects change (the whenever a new object of the class is created, when one is changed, when one is disposed of...) While this can probably be handled fairly simply by hacking class specific New messages etc., it is not provided in the base ST80 language. I think that some articles are confusing the language ST80 with the programming environment provided by Xerox to go with the language. One could consider an improved Modula-2 programming environment where one could modify, recompile, and re-link the implementation module for an object just as dynamically as one can in ST80. It would require keeping a procedure dictionary lying around so one could direct requests to the most recent copy of the method / implementation module, or linking implementation modules indirectly using a scheme similiar to the VMS runtime system vectors. I don't know if Lilith does this sort of thing or not, but other Modula systems i have seen consider Modula just another Pascal-like language. ST80 feels more like a Lisp system becuase it has better program development support. This is an implementation decision and is not dictated by the language. I basically don't currently believe that a definition of what "object oriented language" means is currently possible. We as computer scientists are still at the stage of pointing and saying ST80 is for sure and BASIC is certainly not object oriented. This is actually ok. Maybe Mathematics makes definitions before there is a consensus in the community about what words mean, but even that is debatable. What we are doing now is pointing and coming up with examples. Eventually a consensus will arise, but by that time all the formal definition will be good for is introducing students to a concept which is well understood by the computer science community as a whole. Enjoy, R Mark Chilenskas decvax!genrad!panda!rmc