Simula



Website: www.simula67.info

Designed by: Ole-Johan Dahl

Programming paradigms: Multi-paradigm — procedural, imperative, structured, object-oriented


Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard.

Syntactically, it is an approximate superset of ALGOL 60,: 1.3.1  and was also influenced by the design of Simscript.Simula 67 introduced objects,: 2, 5.3  classes,: 1.3.3, 2  inheritance and subclasses,: 2.2.1  virtual procedures,: 2.2.3  coroutines,: 9.2  and discrete event simulation,: 14.2  and featured garbage collection.: 9.1  Other forms of subtyping (besides inheriting subclasses) were introduced in Simula derivatives.Simula is considered the first object-oriented programming language.

As its name suggests, the first Simula version by 1962 was designed for doing simulations; Simula 67 though was designed to be a general-purpose programming language and provided the framework for many of the features of object-oriented languages today.

Simula has been used in a wide range of applications such as simulating very-large-scale integration (VLSI) designs, process modeling, communication protocols, algorithms, and other applications such as typesetting, computer graphics, and education.

The influence of Simula is often understated, and Simula-type objects are reimplemented in C++, Object Pascal, Java, C#, and many other languages.

Computer scientists such as Bjarne Stroustrup, creator of C++, and James Gosling, creator of Java, have acknowledged Simula as a major influence.