From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,82c7a4dae672250f X-Google-Attributes: gid103376,public From: John G. Volan Subject: Re: Comments on generic stack? Date: 1996/03/21 Message-ID: <4ishik$3ja@dayuc.dayton.saic.com>#1/1 X-Deja-AN: 143660417 distribution: world references: content-type: text/plain; charset=ISO-8859-1 x-xxmessage-id: organization: Science Applications International Corp. (SAIC) mime-version: 1.0 newsgroups: comp.lang.ada Date: 1996-03-21T00:00:00+00:00 List-Id: In article John DiCamillo, milod@netcom.com writes: >John G. Volan writes: > >[a pretty darn good analysis of object vs. value types deleted] > >>(Indeed, it's my humble (and perhaps radical) opinion that the very term >>"object-oriented" is a misnomer. The paradigm that everybody is so >>gung-ho about these days should have been called "*CLASS*-oriented" >>programming. A programming language could hypothetically give you >>_objects_ without necessarily giving you _classes_ as well. > >Not hypothetically, it's been done: see Self, Cecil, and Obliq. I knew that. No, really, I did, I did! :-) Seriously though, I had a feeling that someone would bring up prototype/delegation-based languages. However, what I really had in mind was a hypothetical language that allowed you to encapsulate state data together with state-changing operations, but that lacked any notion of types/classes/prototypes. It would be something like a brain-damaged Ada with packages but no record types. A package with variables hidden in its body can act as a sort of "object", but it would be a one-of-a-kind thing. You wouldn't get any sense of having many instances sharing common behavior and structural layout. Yet you'd still be able to claim you had a language that gave you "objects." >Given your analysis of object vs. value types, you might enjoy >reading the Obliq paper -- Obliq is a distributed scripting >language in which objects behave pretty much as you described >them. Obliq objects are all 'network objects' which have not >just state but *location* in a distributed computing environment. >Objects can not be assigned, but they can be *cloned*, even >from one machine to another across a network. Sounds interesting enough ... how about posting a pointer to this? >>It's the >>_classes_, and the relationships between them, that give you all that >>juicy inheritance and polymorphism.) > >Oh, and you were doing so well, too. Prototypic object-oriented >languages frequently provide inheritance and polymorphism without >classes. Some languages implement inheritance through 'delegation' >and effectively allow objects to change their 'type' at run time >by redirecting a 'parent' pointer. I guess what I was trying to say was that for those languages that do use classes (Ada95, C++, Eiffel, Smalltalk, etc.) it's the classes, not the objects, that make things so "sexy." Likewise, you could say that the sexy features of prototype-oriented languages are the prototyping and delegation mechanisms; the "objects" by themselves are more prosaic. ------------------------------------------------------------------------ Internet.Usenet.Put_Signature ( Name => "John G. Volan", E_Mail => "John_Volan@dayton.saic.com", Favorite_Slogan => "Ada95: The *FIRST* International-Standard OOPL", Humorous_Disclaimer => "These opinions are undefined by SAIC, so" & "any use would be erroneous ... or is that a bounded error now?" ); ------------------------------------------------------------------------