5 ms·
Well, because OO - and if Simula isn't there, then that's where the link would be. Even if Simula did come first, ST is certainly the "OO root" that most people
by thelazydogsback 6y ago
Well, because OO - and if Simula isn't there, then that's where the link would be. Even if Simula did come first, ST is certainly the "OO root" that most people know, so I'm fine with Simula -> ST -> C++ as a reasonable path.
- Rochus 6y agoThis is a widespread misconception. The first Smalltalk version in 1972 didn't even have inheritance. Although Kay is ascribed the term object orientation, he understands it to mean something quite different than most. It was Ingalls who first introduced the properties generally referred to as object-oriented and implemented in Simula as early as 1967 into his version Smalltalk-76. The influence of Smalltalk is generally overestimated.
- socialdemocrat 6y agoYes most people know it because Americans are good at marketing themselves and Norwegians , who made Simula, are pretty bad at marketing because being humble and and not blow your own horn is kind of a big deal. But I know at the University of Oslo there has been some annoyance that Simula’s place in programming history is so unknown while smalltalk has this outsized role. Smalltalk definitely inspired Objective-C but C++ is clearly derived from Simula. As a fellow Scandinavian Bjarne was well aware of Simula and an active user of it.
- 59nadir 6y agoBjarne Stroustrup learned most of what he knows about OO from Kristen Nygaard personally, as he was at Aarhus University at the same time as Nygaard was there. He'd sit and talk to Nygaard for hours, but noted in an interview with Lex Fridman that it was usually just Nygaard talking at him for hours and him soaking as much as possible up. So even "well aware" is a bit of an understatement.
- int_19h 6y agoIn terms of design influence, Simula is a lot closer to C++, Java, and C# than Smalltalk is, so I don't think that would be accurate even so. Every time you write "protected" or "virtual", that's Simula speaking.
- Rochus 6y agoClasses and "virtual" procedures were indeed already part of the original "Simula 67 Common Base Definition" in June 1967, but "protected" and "hidden" were added later (proposed here https://dl.acm.org/doi/abs/10.1145/956003.956009 https://dl.acm.org/doi/abs/10.1145/956003.956009, and probably added to the Common Base Language in 1982).