OOP Origins Debate

The cluster debates the true origins and definition of object-oriented programming, contrasting Simula as the first OOP language with Alan Kay's Smalltalk-inspired vision of message passing, and their influences on C++, Java, Objective-C, and Ruby.

📉 Falling 0.4x Programming Languages
2,227
Comments
20
Years Active
5
Top Authors
#9036
Topic ID

Activity Over Time

2007
8
2008
23
2009
51
2010
66
2011
66
2012
84
2013
96
2014
97
2015
130
2016
134
2017
144
2018
111
2019
178
2020
165
2021
223
2022
191
2023
185
2024
132
2025
142
2026
1

Keywords

userpage.fu SICP MIT www.jot TWIT OO RPN servicestack.net SmallTalk OOPL smalltalk oop kay alan kay oo alan object objects object oriented language

Sample Comments

gpderetta Feb 22, 2021 View on HN

Simula and Smalltalk were the two original OO languages. C++ firmly takes its OO capabilities from Simula (the virtual keyword literally comes from there with the same semantics), and is quite distinct from the OO flavour of Smalltalk. Objective-C, with its selector based late binding for example, is clearly Smalltalk inspired.

goatlover Mar 26, 2021 View on HN

Sure but Smalltalk also has classes and inheritance where messages are passed between objects. Kay invented the term, but he doesn't control the design of other languages or how OOP ended being understood. Simula also proceeded Smalltalk, and it influenced the design of the C++ object system.

jasim Jun 6, 2020 View on HN

There has never been a "true" OO language. And if it there was, Smalltalk was not it. Alan Kay did coin the term, but Simula existed long before Smalltalk. The tree of languages that include C++, Java, and C# can be traced back to Simula while Smalltalk inspired Ruby. There is a distinct camp of "statically typed OO" (Simula and its children) and "dynamically typed OO" (Smalltalk and its children).Yet none of this is the one true OO. All of it remains a way of de

ncmncm Sep 6, 2021 View on HN

The first OOP language was Simula. Smalltalk and C++ both adopted ideas from Simula, independently. Bjarne Stroustrup was a student in Nygaard's lab, so it is absurd to suggest that C++ "reinterpreted" something. If anything, C++'s is the more pure expression of the original idea.Alan Kay gets credit for the name "object-oriented", not the concept. His own definition has varied radically over the years, insisting only lately on any importance of message pa

wonderzombie Jan 3, 2013 View on HN

Look up Smalltalk for some hints. I'm not an expert on Obj-C or Smalltalk but Obj-C borrowed pretty heavily in some respects, as I understand it. It is object-oriented, but it is a substantially different paradigm from the C++/Java family.As another hint, Ruby was pretty heavily influenced by Smalltalk as well. Think about stuff like responds_to? and whatnot, where you're sending messages to objects and objects can actually intercept and react to those messages.The comparison to C++ is pre

int_19h Jun 22, 2024 View on HN

"Object-oriented" ipso facto refers to programming using objects. Simula had objects, and they were objects in the same exact way as Smalltalk objects are objects - a bundle of state with identity and behavior. Whether the exact term "OOP" was used by Simula authors is immaterial. The usual claim is that what makes Smalltalk special is message passing as opposed to method calls, but they are obviously isomorphic.

noblethrasher May 1, 2017 View on HN

Yes, he is probably talking about Smalltalk-style OO:https://medium.com/@richardeng/domo-arigato-mr-smalltalk-aa8...He's also the subject of this article: https://thenewstack.io/can-man-spark-renaissance-small

Rochus Jun 3, 2020 View on HN

He neither had Smalltalk-76/80, Simula 67, Java, Python or Ruby in mind. What he understood by OO is rather "object based" in todays language.

typon Aug 27, 2021 View on HN

"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay

timbit42 Sep 10, 2022 View on HN

"OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things." – Alan KaySimula was the first language to have objects but Alan Kay's Smalltalk was what really caused it to take off and is what most OOP languages today were derived from. Today he feels he mis-named it and that he should have called it Message-Based Programming, which is what he feels should be the primary focus of languages with objects.M