Messaging (Re: Single page programs)
marcel at system.de
Tue Dec 15 15:26:28 UTC 1998
"Michael S. Klein":
> On Mon, 14 Dec 1998, Bruce Cohen wrote:
> > Stop me if I'm going to far here, but wouldn't it make sense to
> > first class notion of relationships be a fundamental component out of
> > which you build things like classes & prototypes?
> It would make much sense. As has been noted over and over again,
> the key principle in all of this OOP stuff is messaging.
> Yet, Smalltalk has no first-class representation of messages.
> Smalltalk has only the minimal meta-objects to support execution:
Well, actually it does: the class 'Message', though this is
probably not what you want.
I am guessing that by 'message' you mean the generic operation that
is named by a selector, which sadly does not even really have a name
at this point, much less a first class representation.
I think the notion of 'messaging' actually has two distinct
components: one is generic operations, the other is distribution
patterns, with todays messaging being just one very specific
distribution pattern: messages naming a generic operation get
distributed to a single named ('well known') object, which
synchronously invokes a method.
Other distribution patterns include sending the message to a
collection of objects, forwarding the message to another object for
handling (delegation), transmitting the message to another system
(distributed objects) and broadcasting/multicasting (implicit
invokation). Distribution can also go the other way, with objects
being distributed to (generic) operations, as in dataflow systems.
More information about the Squeak-dev