Erik Engheim
2 min readSep 12, 2019

--

C++ was not a distortion of Smalltalk

As a Norwegian it kind of pains me how a bunch of Californians are stealing all the credit for object-oriented programming. Almost everywhere you read about object-oriented programming, Smalltalk gets mentioned and then people remark on how different it is from how C++ turned out. This is made into a big mystery.

But it isn’t a mystery, because the narrative is simply wrong. Smalltalk never inspired C++ in any shape or form. Nor was Smalltalk the original-object oriented language.

The first object-oriented language, Simula, was developed in Norway at the Norwegian Computing Center by Kristen Nygaard and Ola-Johan Dahl. The connection to C++ is rather obvious when you realize the inventor of C++ Bjarne Stroustrup, is Danish. Denmark has of course a close relationship with Norway and so Simula got used in Denmark as well. Bjarne Stroustrup did in fact learn Simula straight from Kristen Nygaard.

Thus when Stroustrup created C++ he based it on Simula’s concept of object-oriented programming. Simula also inspired the implementation of the actor model and influenced both Alan Kay and James Gosling, when they implemented Smalltalk and Java respectively.

Objective-C is the connection between Smalltalk and C, not C++. Objective-C adopted Smalltalk style object-oriented programming not the Simula style object-oriented programming of C++ and Java.

The primary reason Smalltalk has such a prominent name in object-oriented programming is because Alan Kay coined the term, and well… Americans are a lot better at marketing that Norwegians. So ironically while Alan Kay gave us the name of the paradigm, the flavor of OOP that actually came to dominate the industry was the Simula style OOP.

I was a big fan of Smalltalk back in the day, and there is no doubt that it was a beautiful system and that Alan Kay had a very different vision from the Simula creators, with his integrated development environment, Smalltalk images etc. But that approach became a niche just like LISP machines.

--

--

Erik Engheim
Erik Engheim

Written by Erik Engheim

Geek dad, living in Oslo, Norway with passion for UX, Julia programming, science, teaching, reading and writing.

No responses yet