3 ms·
Because the term was coined by Alan Kay, who apparently later said he probably should have called it message oriented (paraphrasing). There's also a written co
by dgb23 3y ago
Because the term was coined by Alan Kay, who apparently later said he probably should have called it message oriented (paraphrasing).
There's also a written conversation you can find online where he disqualifies pretty much all of the mainstream languages of being OO.
A lot of people, like you, say that OO == ADTs. Or rather, what ever Simula, C++ and Java are doing. Some will say that inheritance is an integral part of it, other's say it's all about interfaces.
But then there's people who say that Scheme and JavaScript are more object oriented than Java and C#. Or that when we're using channels or actors we're now _really_ doing OOP.
There's people who talk about patterns, SOLID, clean code and all sorts of things that you should be adhering to when structuring OO code.
Then there's people who say that OO is all about the mental model of the user and their ability to understand your program in terms of operational semantics. They should be able to understand it to a degree that they can manipulate and extend it themselves.
It's all very confusing.
- Rochus 3y ago> Because the term was coined by Alan Kay This is pretty unlikely. See https://news.ycombinator.com/item?id=36879311 https://news.ycombinator.com/item?id=36879311.
- mkl 3y ago> The term "object-oriented" was applied to a programming language for the first time in the MIT CSG Memo 137 (April 1976) That's publications though. Alan Kay says he used it in conversation in 1967: http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay... There's probably also a distinction to be made between "object-oriented" and "object-oriented programming".
- Rochus 3y agoThe referenced research also considers the publications by Kay and his team (including his theses and the Smalltalk-72 and 76 manuals) and other uses of the term. I think Kay mixes things up in retrospective; in his 1968 thesis he used the terms "object language" and "object machine", but not "object-oriented"; imagine giving your new breakthrough method a name, but then not using that name anywhere in the publication; that seems unthinkable, especially with an accomplished communicator like Kay. The first time "object-oriented" appears in a publication of his or his team is in 1978.