On 9 June 2012 22:06, Toby Schachman <t...@alum.mit.edu> wrote: > Message passing does not necessitate a conceptual dependence on > request-response communication. Yet most code I see in the wild uses > this pattern.
Sapir-Whorf strikes again? ;-) > I rarely > see an OO program where there is a "community" of objects who are all > sending messages to each other and it's conceptually ambiguous which > object is "in control" of the overall system's behavior. > Perhaps you're not taking into account programs that use the observer/observable pattern? As a specific example, all the uses of the "dependents" protocols (e.g. #changed:, #update:) in Smalltalk are just this. In my Squeak image, there are some 50 implementors of #update: and some 500 senders of #changed:. In that same image, there is also protocol for "events" on class Object, as well as an instance of Announcements loaded. So I think what you describe really might be quite common in OO *systems*, rather than discrete programs. All three of these aspects of my Squeak image - the "dependents" protocols, triggering of "events", and Announcements - are encodings of simple asynchronous messaging, built using the traditional request-reply-error conversational pattern, and permitting conversational patterns other than the traditional request-reply-error. As an aside, working with such synchronous simulations of asynchronous messaging causes all sorts of headaches, because asynchronous events naturally involve concurrency, and the simulation usually only involves a single process dispatching events by synchronous procedure call. Regards, Tony -- Tony Garnock-Jones tonygarnockjo...@gmail.com http://homepages.kcbbs.gen.nz/tonyg/
_______________________________________________ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc