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
|