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:
- the asynchronous programming concept of coroutines;
- 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.