4 ms·
My understanding is that Alan Kay cannot reasonably claim to have "the original definition of OO", only "a very good early definition". Additionally, it seems l
by hyperpape 6y ago
My understanding is that Alan Kay cannot reasonably claim to have "the original definition of OO", only "a very good early definition". Additionally, it seems like he's either been a bit inconsistent or unclear about the essential ideas at different times.
One source: https://hillelwayne.com/post/alan-kay/ https://hillelwayne.com/post/alan-kay/
- klibertp 6y agoGood read, thanks. I knew about Simula, but never analysed it deep enough to know how much of an effect it had on early Smalltalk. Still, the definition Kay gave as late as in 1998 resonates with me the most: OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. And this is almost exactly what Erlang implements: just add "asynchronous" before "messaging" and it fits perfectly.
- smt1 6y agoSimula(67) definitely was the original concept/implementation of OO. Smalltalk, C++, Java, etc all derived different aspects of it. - Main abstraction are classes (of objects). - Concept of self-initializing data/procedure objects Internal ("concrete") view of an object vs an external ("abstract") - Differentiated between object instances and the class - Class/subclass facility made it possible to define generalized object classes, which could be specialized by defining subclasses containing additional declared properties - Different subclasses could contain different virtual procedure declarations - Domain specific language dialects
- frankpf 6y agoHey smt1, looks like your account is dead and has been for a while.
- weatherlight 6y agoit's clearly not dead.
- klibertp 6y agoActually, it might be. The comment was dead, I vouched for it, so it appeared.
- astrange 6y agoNote Java is actually explicitly based on Objective-C, not on Simula or C++. They just removed most of the Smalltalk bits to make it faster and less scary-looking to C++ programmers.
- inopinatus 6y agoAlan Kay provided the first definition of OOP. That is not the same as using the word “object” for the first time. As that article clearly shows, at least once you’re past its clickbait title, Kay acknowledges his influences. That isn’t a lack of clarity, it’s an awareness that we all build on the effort of our peers and predecessors, that ideas do not spring forth fully formed from the void. This does not discredit anyone’s work, far from it; context is an aid to understanding.
- hyperpape 6y agoI could probably have been more specific. What I mean by lack of clarity is that Kay in 1998 thinks that messaging is the key idea, and suggests that was always the key idea. But none of the historical sources I've seen suggest he was clearly and consistently saying that in the 70s. That's really a minor point, it does nothing to invalidate Kay's contributions. You can design a system that has value, and only later find the best way to talk about its value. That happens constantly: people create something and then end up saying "in hindsight, I got X right and Y wrong" or "back then, I knew this worked, but it was only later that I knew why". It doesn't disprove the idea that focusing on messaging gives you the best version of OOP. It doesn't even disprove that "real" OOP is about messaging (though I think that argument has a high bar to clear--most terms are messy). What it does disprove is that messaging has a right to be the core of OOP because Alan Kay defined it that way back in the 70s. P.S. Maybe the title isn't ideal, but Hillel was literally reacting to someone who said Alan Kay invented objects: https://lobste.rs/s/8yohqt/alan_kay_oo_programming#c_5xo7on https://lobste.rs/s/8yohqt/alan_kay_oo_programming#c_5xo7on. Actually, that might be a better source than what I linked to, because it marshals more evidence that Kay was not consistently saying "messaging is what matters" during the 70s. He may have believed it, he may have said it sometimes, but he wasn't consistent about it. Again, that's not a criticism of Kay, except the super mild one that his 90s/2000s memory of what he said 20 years earlier wasn't perfect. But I forget shit I said last week, so I'm not gonna judge.
- inopinatus 6y ago> disprove ... that messaging has a right Well, I think "messaging" is an abstract concept. It doesn't have rights, so there was nothing to prove. Nevertheless, credit matters, because people matter, and do have rights. One of those rights is to have an opinion, including the opinion that messaging is the core of OOP. > clearly and consistently saying that in the 70s This is indeed a preposterous and unhealthy standard to expect of anyone, on any topic. It's the kind of thing that two-bit politicians like to dig up on each other, to nobody's edification.
- keithnz 6y agoAlan has commented a number of times on a number of threads on HN on this.... you can find his various comments here: https://news.ycombinator.com/threads?id=alankay https://news.ycombinator.com/threads?id=alankay
- hyperpape 6y agoI've seen his account. I'm not sure I've read every comment, however. Is there one in particular that you think says something not covered in the two pieces I've linked in this thread?