3 ms·
OOP as originally articulated by Alan Kay is not the same thing as what's represented by C++, Java, et al. The original idea was that since a computer can simu
by noblethrasher 11y ago
OOP as originally articulated by Alan Kay is not the same thing as what's represented by C++, Java, et al.
The original idea was that since a computer can simulate anything (including a better computer), that computers should be the smallest things you would want to recapitulate in a system. These computers (objects) would communicate by passing messages. Each object is the interpreter for the messages that are sent to it (similar to how your laptop interprets messages you send to it via the keyboard, or how another computer communicates to it through a network interface card - objects are also parsers). Crucially, in real OOP, objects are Turing-equivalent computers, and systems are composed of objects that communicate by passing messages. You're using an exemplar of such a system right now.
In fact, Dr. Kay has lamented that he didn't call it something like "Message Oriented Programming" since messages were the actual big deal.
- davidgrenier 11y agoI will grant that I should've spent some time coding in Smalltalk by now to get a better sense of the implications of that style. I myself find it surprising when people delve into a language debate pitting a traditional imperative/OO language against an ML without having knowledge of it. I still don't think it's fair to celebrate Kay for OO then being that it's not what he intended us to end up with, so certainly he must be recognized for something much more relevant?