How do you define "object-oriented"?

Alan Kay Alan.Kay at squeakland.org
Sun Apr 28 16:32:07 UTC 2002


Just for the record ....

In Smalltalk-72, variables were theoretically objects, and thus 
required quoting in order to do assignment. So
         'a                  meant give me the symbol a
                                  BTW " ' " is an actual object in Smalltalk-72
         a                   meant give me the value that is 
associated with the symbol a
                                  the symbol a would look itself up in 
the current context to find the value
         'a <- foo       meant send the message "<- foo" to the symbol a
                                 which would look itself up in current 
context and store the value
         a  <- foo       meant send the message "<- foo" to the object 
associated with the symbol a
                                  etc.

In retrospect, it might have been a better idea to use the opposite 
convention instead of one that worked like LISP -- so a symbol would 
be a literal (like a number), and there would have been a message to 
get the value associated with it. But maybe not ...

Also, a number of inheritance ideas were tried out in Smalltalk-72, 
none of which I liked all that much. My favorite were the "slot 
inheritance" experiments that were done by Larry Tesler.

Cheers,

Alan

-------

At 8:40 AM -0700 4/27/02, Dan Rozenfarb wrote:
>Jecel Assumpcao wrote:
>>  I don't see any practical difference
>>  between "inheritance" and "delegation"
>
>Me neither.  I pointed that out just to make a
>difference between
>what Self has and what is commonly referred by
>inheritance
>(including Wegner=B4s classification), that is, Class
>Inheritance.
>Anyway, I see inheritance as a useful, although not
>mandatory
>feature.
>
>
>>  > With this definition, Smalltalk is not *pure* OO.
>>
>>  Because of the classes? See "Smalltalk with
>Examplars" or CoDA for
>>  Smalltalks with classless objects.
>
>No.  With "definition" I meant the previous one:
>"Objects
>communicating through message passing".
>One example: Smalltalk accesses variables directly,
>not by message
>passing.  OK, it=B4s not a big deal, but illustrates
>my point.
>
>
>>  But I prefer not to fight for any particular meaning
>of "OO"
>
>I tend to agree.  It is not all that important having
>an exact
>definition.  But my scientific spirit makes me love
>the purist
>approach that led to great research pursuing a clean
>and pure OO
>(such as the Self project).  This utopic and
>minimalist sense is
>much related with simplicity, that is one of the
>things I love the
>most about objects, and what IMHO made Smalltalk what
>it is.
>
>Regards,
>Dan Rozenfarb
>
>__________________________________________________
>Do You Yahoo!?
>Yahoo! Health - your guide to health and wellness
>http://health.yahoo.com


-- 



More information about the Squeak-dev mailing list