4 comments

[ 2.6 ms ] story [ 9.3 ms ] thread
Such an influential language today, yet so undiscussed.

It’s sad that so many assume that object-orientation started with Smalltalk. In fact, objects, classes, sub-classing and virtual functions are from Simula. Smalltalk’s biggest addition and contribution to object-orientation was the encompassing design concept of Alan Kay “messaging”.

It is those features introduced in Simula that largely remain influential today, while Smalltalk’s “messaging” concept is effectively obsolete in a world of program design largely dominated by “data”.

Kay is fairly explicit in crediting Simula as an influence, even though he coined the term OO during the Parc era.

One thing that's important to keep in mind is that Smalltalk was designed specifically with personal computing in mind, while Simula wasn't. The real shame here is that the academic and scientific languages won out over the more holistic Smalltalk-like experience when it came to personal computing. Consequentially, we now have these incredibly powerful laptops that emulate PDPs and time sharing machines from four decades ago, that run WYSIWYG text editors just as well as or even more slowly than they did two decades ago, and that make it impossible to reason about the system in any meaningful way. There are programmers and then there are users, and the division is strict. Ain't nothing "personal" about it, really.

This was the first language which I learned after failing @ Fortran in 1970s. We did not have easily accessible Simula, but we were using it as specification language for traffic simulations, which it was originally intented.

So when they tried to force me to adopting the "revolutionary C++" 20 years later, I was less enthusiastic , which made the executives very unhappy.

My undergraduate thesis (1974) advisor was Dr. Barbara Liskov who was designing CLU, which became a very influential research language. The first thing she told me to do was to read a small book, Structured Programming by Dahl, Dijkstra, and Hoare. She particularly wanted me to read the chapter by Dahl on Sumula-67.

Simula was an important contribution to the development of modern programming languages, by way of Sumula -> CLU -> Alphard -> Ada -> Modula -> C++ -> Java, and the many other connections back to Simula like Smalltalk.