What is Simula?

Simula is a simulation programming language developed as an extension of Algol-60 by Ole-Johan Dahl (†2002) and Kristen Nygaard (†2002) in the 1960's.

As a simulation language, it has pioneered the process-interaction approach to discrete-event simulation (DES), which is often also called a "process-oriented" approach. Notice, however, that the term "process-oriented simulation" is ambiguously used both for languages/tools implementing the process-interaction paradigm, like Simula or SimPy, and for languages/tools implementing the Processing Network paradigm, like Arena, ProModel or AnyLogic.

As a programming language, Simula has pioneered:

  1. the asynchronous programming concept of coroutines;
  2. the object-oriented programming concepts of objects, classes, inheritance, and virtual method calls (dynamic binding).

The Simula keywords "class", "new" and "this" are still used today in object-oriented programming languages, like Java, C# or JavaScript.