Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Edit: Looks like this may have been addressed in a later interview? 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



> 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? :)


Maybe? 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.


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."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: