Message passing rather than object orientation

Alan Kay Alan.Kay at squeakland.org
Fri Oct 12 12:43:52 UTC 2001


Ken --

I agree. I've been trying to get people to see this very point for 
decades. In the late sixties I tried (unsuccessfuly) to adapt Rudy 
Krutar's "port model" for a networked OS to lightweight objects, etc.
      The Japanese have a short little word -- "ma" -- which kind of 
means "that which is between", what Westerners might call the 
interstices. This is where the good stuff happens, if good design is 
done here. Quite a bit of the earliest thinking in Smalltalk was 
concerned with this.
      The main source of outside ideas was Dave Fisher's thesis (A 
Control Definition Language CMU 1970). This was not object-oriented 
(but I found it to be the logical complement to my thesis of the very 
same period) and Dave had cast it in terms of a McCarthy-like eval in 
itself, so it was very understandable. It had most of the things 
we've always wanted in messaging systems.
      I think after Carl heard about Smalltalk in Nov 72, and saw some 
of the examples, he was able to come up with some valuable 
characterizations of control structures and objects. Unfortunately 
for posterity, neither the PARC group or the MIT group really was 
able to implement a practical enough version of the deeper scope of 
these ideas. (Part of the problem is that something like 
zero-overhead, large number of processes are needed to really do the 
job.) Recently Andreas Raab has done some remarkable experiments with 
very large numbers of very low overhead processes in Squeak which 
bodes well for the future.

Ken, what are your current thoughts about what should be done (now 12 
years after the ECOOP paper)?

Cheers,

Alan

At 11:53 AM -0700 10/11/01, Ken Kahn wrote:
>Andres Valloud  wrote:
>
>>  However, what I find very interesting is that we say "In a
>>  Smalltalk system everything is an object, and everything gets done when
>>  objects send messages".  IMHO, that everything is an object is
>>  insignificant when compared to the requirement that everything gets done
>>  by sending messages.
>>
>
>I think this is a GREAT insight. In my paper, "Objects - A Fresh Look",
>ECOOP '89
>I
>I tried to argue for a much more expanded notion of objects but what I know
>releasize is that I was really writing about was more general message
>passing. You send a message and maybe an object generates a reply but maybe
>several objects receive the message and collaboratively or competively
>compute a reply. And a reply might be a single message or a stream of them.
>And maybe after an object gets a message it changes into another kind of
>object or maybe into a cloud of objects. And maybe an object has more than
>one "mail box" where messages arrive. And so on.
>
>A real classic on this topic is Carl Hewitt's "Viewing control structures as
>patterns of passing messages", Artificial Intelligence 8 (1977).
>
>Best,
>
>-ken kahn ( www.toontalk.com )


-- 




More information about the Squeak-dev mailing list