4 ms·
Edit: Looks like this may have been addressed in a later interview? https://www.infoq.com/interviews/johnson-armstrong-oop/ https://www.infoq.com/interviews/joh
by nielsbot 6y ago
Edit: Looks like this may have been addressed in a later interview? https://www.infoq.com/interviews/johnson-armstrong-oop/ https://www.infoq.com/interviews/johnson-armstrong-oop/ (shared by frederikholm below)
This is a critique of mainstream "OOP". But the term "Object oriented programming" as coined by Alan Kay meant something different[1]. He was referring to something like actors: Tiny independently-operating machines (which, yes, contain hidden state) that provide answers in response to messages sent to them. You intentionally can't know how they work--they should behave as little computers.
I think this is a powerful paradigm which has still not been fully realized. (NSDistantObject in Object-C comes close?)
I am excited for the new async/await stuff coming to Swift since it's explicitly moving towards an actor-based programming model. (While Swift, in general, tries to eliminate some of the negative aspects of previous implementations of OOP.)
[1] http://www.purl.org/stefan_ram/pub/doc_kay_oop_en http://www.purl.org/stefan_ram/pub/doc_kay_oop_en
- kimi 6y ago> Tiny independently-operating machines (which, yes, contain hidden state) that provide answers in response to messages sent to them. You intentionally can't know how they work--they should behave as little computers. You mean... like an Erlang process? :)
- nielsbot 6y agoMaybe? You tell me. :) Do you communicate with them via messages? I guess I am biased because I always think of messages more like Obj-C/Smalltalk style obj doSomethingWithArgument: arg1 otherArgument: arg2 Vs something more like a protobuf or whatever. I guess as long as a message send in the language looks like a method invocation it's all equivalent.
- fredrikholm 6y agohttps://www.infoq.com/interviews/johnson-armstrong-oop/ https://www.infoq.com/interviews/johnson-armstrong-oop/ "Is Erlang object oriented?" "From that point of view, we might say it's [Erlang] the only object oriented language and perhaps I was a bit premature in saying that object oriented languages are about."