From: John G. Volan <John_Volan@ccmail.dayton.saic.com>
Subject: Re: Comments on generic stack?
Date: 1996/03/21
Date: 1996-03-21T00:00:00+00:00 [thread overview]
Message-ID: <4ishik$3ja@dayuc.dayton.saic.com> (raw)
In-Reply-To: milodDoKr88.876@netcom.com
In article <milodDoKr88.876@netcom.com> John DiCamillo, milod@netcom.com
writes:
>John G. Volan <John_Volan@ccmail.dayton.saic.com> 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?" );
------------------------------------------------------------------------
next prev parent reply other threads:[~1996-03-21 0:00 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4i6l2t$j1q@dmsoproto.ida.org>
1996-03-15 0:00 ` Comments on generic stack? Michel Gauthier
1996-03-17 0:00 ` David Wheeler
1996-03-20 0:00 ` "Object" types vs. "Value" types John G. Volan
1996-03-20 0:00 ` John DiCamillo
1996-03-21 0:00 ` John G. Volan [this message]
1996-03-21 0:00 ` david scott gibson
1996-03-25 0:00 ` John G. Volan
1996-03-28 0:00 ` david scott gibson
[not found] <199603141053.LAA21095@email.enst.fr>
1996-03-17 0:00 ` Comments on generic stack? David Wheeler
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox