Hacker News new | past | comments | ask | show | jobs | submit
> There are no 'messages' involved, and nothing is 'sent'.

The conceptual difference is significant as an object can respond to messages that it doesn't have a method for. You are, conceptually, just sending a message and leave it up to the object what it wants to do with it (e.g. forwardInvocation:). That is, after all, what sets "object-oriented" apart from having objects alone. Optimizations that can be made under the hood don't really affect the language itself.

> can respond to messages that it doesn't have a method for.

Clang produces a warning in that case though (something along the lines of "object might not respond to ..."), I don't think that feature is particularly useful in practice (also because it kills any sort of type safety) :)

loading story #47222040
loading story #47220803
> That is, after all, what sets "object-oriented" apart from having objects alone.

I wouldn't say so, most object-oriented languages don't work like Objective-C/Smalltalk. Today, I think most programmers would agree that inheritance is the defining feature of object-orientation.

loading story #47223939
loading story #47224399