3 ms·
I like Joe Armstrong's definition of OOP and what he did to make Erlang an OOP language: http://erlang.org/pipermail/erlang-questions/2009-November/047748.html
by anthony_doan 8y ago
I like Joe Armstrong's definition of OOP and what he did to make Erlang an OOP language:
http://erlang.org/pipermail/erlang-questions/2009-November/047748.html http://erlang.org/pipermail/erlang-questions/2009-November/0...
Alan Kay went on the record to state that current OOP miss his point of OOP where message passing is the main point.
Joe Armstrong's definition of OOP in the mailing list give a little bit more context on the other modern features of OOP that aren't truly needed.
In Alan Kay and Joe Armstrong talk, Alan Kay acknowledge that Computer Science is pop culture where the past aren't learn from and why past mistakes are repeated.
https://www.youtube.com/watch?v=fhOHn9TClXY https://www.youtube.com/watch?v=fhOHn9TClXY
- mikekchar 8y agoI din't watch the Youtube video. I'll try to do it later, but the email is spot on IMHO. The point about polymorphism and inheritance is great (although I will argue having tried to implement OO systems from scratch before that it's very hard to implement non-inheritance based polymorphism in a dynamic language because of the difficulty of doing multiple dispatch). The one quibble I'll make is that about the "everything is an object" issue. I think he's begging the question there. One of the things I realised having done it myself is that in OO systems message passing is essentially doing calling "bind" on a monad: the method is the function and the program state encapsulated in the object is the contents of the monad. This breaks very, very hard if the return value of your method is not an object -- you can no longer chain your operations. I honestly believe that this is the real (probably unconscious) reason why "everything is an object" OO languages are attractive.
- hota_mazi 8y agoPretty rich for Armstrong to lament about the past not being learned from while he himself used to think that OO sucks: http://harmful.cat-v.org/software/OO_programming/why_oo_sucks http://harmful.cat-v.org/software/OO_programming/why_oo_suck...
- anthony_doan 8y agoThat's an interesting article, I don't believe it go against his other article. Your link shows that he hate certain aspects of OOP and the other article shows he decides to strip those OOP aspects away and only choose the ones that he believe is OOP. At least that's my interpretation on reading the link you've provided and comparing to the link I've posted.