News for hackers. Stuff that matters.
Re:Alan Kay on the Meaning of “Object-Oriented Programming” ... by Joeri on Sunday November 30, 2014 @04:25PM (#8678160)
I think it's a bit charitable to call what Objective C does to be "message passing". The messages are not asynchronous and have only a single recipient, so in practice I would say they're method calls with late binding.
Re:Alan Kay on the Meaning of “Object-Oriented Programming” ... by mpweiher on Monday December 01, 2014 @12:11AM (#8679615)
However, they can easily be made asynchronous and address multiple recipients. See Higher Order Messaging[1][2], first implemented in Objective-C[3]. So for example:

    [[myView onMainThread] setNeedsDisplay:YES];

    result = [[someObject future] someMessage:arg];

    combined = [[prefixes collect] stringByAppendingString:[suffixes each]];
The reason this is easy in Objective-C is because its brand of message passing is just (barely) powerful enough to qualify as message passing. In fact, if you squint just a little, you can see it as fully reified message passing with the common-case (a synchronous method is invoked) optimized.

[1] http://en.wikipedia.org/wiki/Higher_order_message

[2] http://www.metaobject.com/papers/Higher_Order_Messaging_OOPS...

[3] https://github.com/mpw/MPWFoundation

Re:Alan Kay on the Meaning of “Object-Oriented Programming” ... by xsmasher on Monday December 01, 2014 @12:39AM (#8679689)
At least you can redirect messages to another recipient, and write a handler for "unhandled messages." Impossible with c++, at least with standard method calls.
Re:Alan Kay on the Meaning of “Object-Oriented Programming” ... by archagon on Sunday November 30, 2014 @05:45PM (#8678505)
You can do one-to-many messages via notifications, though it's less elegant.