A Love Letter to Object Orientation
7 points by mempko
7 points by mempko
Most conversations about OOP's history tend to muddle its origins, and this one is no exception.
Alan Kay may legitimately have coined the term, but it is clear that his vision of OOP was far less influential than the SIMULA 67 / C++ / Java branch of the tradition. This is a Newton / Liebniz situation where the ideas were in the air and had multiple progenitors.
I think the desire to dismiss the dominant trend as a degenerate form of OOP and focus on Kay is a coping strategy in response to the failure of OOP to live up to its promises.
Casey Muratori's The Big OOPs is by far the best analysis of its history that I have seen.
It's nice that Casey did all that research and did a very nice long talk about it, but he ended up with a big strawman in the end anyway.
I've read through hundreds of Alan Kay's Quora answers ( lol why would he choose such a knowledge repository, i dont know ) and I can confidently say "compile-time hierarchies..." is very far from anything Alan Kay would've ever pursued. He left out inheritance from Smalltalk-72 because Simula I didn't have it and he didn't feel it's all that important. (that's one of Casey's strawmans)
Kay has since praised Erlang as being "the most OOP language around" (no inheritance, no classes) when talking with Joe Armstrong.
Yeah, not sure why Kay has sooo many answers on Quora too. There is a video where Joe Armstrong interviews Alan Kay from 9 years ago before Armstrong passed.
For those that haven't seen it, here it is: https://www.youtube.com/watch?v=fhOHn9TClXY
One of the best discussions by two giants in the field.
There is a reason why I based a lot of my design for the Abject project on Erlang.
Thank you @colonelpanic and @sergueidotme for bringing some depth. I think my post had a lot of deep ideas (oo as messaging, dialog, compression vs abstraction) and I'm happy to see some people get it!
So again, thank you!
In my post I explain how Kay's vision won. The largest , most complex system man has every made is based on his vision, not the C++/ simula kind (and i'm a C++ programmer!)
Finally, someone figured out how to make oop even slower!