- Influenced by:
- Typing discipline:
Simula 67 is seen as the first object oriented language. It is defined by Kristen Nygard and Ole-Johan Dahl to support event based process modeling simulation. It is a near complete superset of Algol-60. Only the passing of parameters differed between Algol 60 and Simula 87. Simula 67 was, like Algol 60, a single threadded language in which processes were modelled that could be stopped temporaryly. Control was given to another proces, or to the main time controller.
The real extension of Simula was the concept that procedures were temporarily stoppable and that the stopped procedures could be referenced. These stoppable procedures were called classes. A realization of a class was an object. A class could have a number of attributes and a number of internal procedures: the methods in OO terminology. Classes could be subclassed.
Simula 67 is activily been used in the scandinavion countries, England and the Netherlands.
Simula 67 was one of the main languages of inspiration for Alan Kay. In his Dynabook project he used this inspiration to define Smalltalk.
Bjarne Stroustrupp was educated in Denmark with Simula. Later he worked at AT&T. He had to develop in C, but missed the modelling capabilities of Simula. He therefore developped a superset on top of C called C++. C++ compares to C more or less like Simula to Algol-60.
The most important language concepts introduced by Simula arecoroutines, classes, instance variables, methods and subclassing.