Why OO Sucks by Joe Armstrong (2000)
It really should be noted that years later Joe changed his mind about OO and came to the realization that perhaps Erlang is the <i>only</i> object-oriented language :) From a 2010 interview:<p>...&quot;I wrote a an article, a blog thing, years ago - Why object oriented programming is silly. I mainly wanted to provoke people with it. They had a quite interesting response to that and I managed to annoy a lot of people, which was part of the intention actually. I started wondering about what object oriented programming was and I thought Erlang wasn&#x27;t object oriented, it was a functional programming language.<p>Then, my thesis supervisor said &quot;But you&#x27;re wrong, Erlang is extremely object oriented&quot;. He said object oriented languages aren&#x27;t object oriented. I might think, though I&#x27;m not quite sure if I believe this or not, but Erlang might be the only object oriented language because the 3 tenets of object oriented programming are that it&#x27;s based on message passing, that you have isolation between objects and have polymorphism.<p>Alan Kay himself wrote this famous thing and said &quot;The notion of object oriented programming is completely misunderstood. It&#x27;s not about objects and classes, it&#x27;s all about messages&quot;. He wrote that and he said that the initial reaction to object oriented programming was to overemphasize the classes and methods and under emphasize the messages and if we talk much more about messages then it would be a lot nicer. The original Smalltalk was always talking about objects and you sent messages to them and they responded by sending messages back.&quot;<p>See <a href="https:&#x2F;&#x2F;www.infoq.com&#x2F;interviews&#x2F;johnson-armstrong-oop" rel="nofollow">https:&#x2F;&#x2F;www.infoq.com&#x2F;interviews&#x2F;johnson-armstrong-oop</a> (2010) for the full answer (and more), it&#x27;s worth a read.