Languages / Concept
Simula
The first object-oriented language, out of Oslo.
Simula was built by Ole-Johan Dahl and Kristen Nygaard at the Norwegian Computing Center in Oslo. It began as Simula I (1965), a language for discrete-event simulation — modeling systems of interacting things like ships moving through a harbour — and grew into Simula 67, built on top of ALGOL 60.
To simulate a world full of independent entities, each with its own state and its own behavior, they invented the machinery the whole industry would later live on: the class, the object, inheritance (subclasses), virtual methods, and even coroutines. This is the birth of object-oriented programming, years before the phrase was common.
What made them different
Dahl and Nygaard were operations-research people modeling the real world, not language theorists. Object orientation fell out of a practical need to represent many interacting agents, which is exactly why an “object” maps so naturally onto a “thing in the world.” The idea flowed straight into Smalltalk (Alan Kay), and, explicitly, into C++ — Bjarne Stroustrup set out to give C the classes he had loved in Simula. (Dahl and Nygaard won the Turing Award in 2001.)
Sources
- Dahl & Nygaard, “The Development of the SIMULA Languages” (1978) — the inventors’ own history.
See also: Objects and Messages, Smalltalk, ALGOL, C.