Path: utzoo!attcan!uunet!mcsun!sunic!nuug!ifi!skakke.uio.no!rmz From: rmz@jamhog.uio.no (Bjoern Remseth) Newsgroups: comp.object Subject: Re: Evaluating "Object-Oriented" Programming Languages Message-ID: Date: 12 Jan 90 01:07:29 GMT References: <638@ajpo.sei.cmu.edu> <706@cui.unige.ch> <644@ajpo.sei.cmu.edu> <753@cui.unige.ch> <649@ajpo.sei.cmu.edu> Sender: news@ifi.uio.no Organization: Institute of Informatics, University of Oslo Lines: 42 In-reply-to: eberard@ajpo.sei.cmu.edu's message of 11 Jan 90 15:30:43 GMT > I too, would be interested in hearing from anyone with a different > viewpoint, i.e., that Simula is somehow not "truly object-oriented." I can think of two things: First of all there are a number of fundamental things that are not "true" classes, most notably all the numbers and texts. This basically means that even if they are there, and have a clearly defined protocol, a simula programmer can not make subclasses of them. Secondly it is possible to "INSPECT" any class instance. This means that one can look into and modify the state of an object as if it was a part of the local execution environment. Since identifiers local to the inspected object are used without any form of prefix it is not possible only by looking at a statement inside the inspect statement to see if it sends a message to an object or not. BEGIN CLASS foo; BEGIN INTEGER bar; END; REF (foo) f; f :- NEW foo; INSPECT f do BEGIN ! Note that "bar" is not declared on this block level, it is imported from the "f" object; bar := 200; OutInt(bar,10); OutImage end; END; -- (Rmz) Bj\o rn Remseth ! Net: rmz@ifi.uio.no Institutt for Informatikk ! NeXTmail: rmz@neste.uio.no Universitetet i Oslo, Norway ! Phone: +472 453466