Simula
| Simula | |
|---|---|
| Paradigms | Multi-paradigm: procedural, imperative, structured, object-oriented |
| Family | ALGOL |
| Designed by | Ole-Johan Dahl |
| Developer | Kristen Nygaard |
| First appeared | 1962 |
| Stable release | Simula 67, Simula I
|
| Typing discipline | Static, nominative |
| Scope | Lexical |
| Implementation language | ALGOL 60 (mostly) SIMSCRIPT (some parts) |
| OS | Unix-like, Windows, z/OS, TOPS-10, MVS |
| Website | www |
| Influenced by | |
| ALGOL 60, SIMSCRIPT | |
| Influenced | |
| BETA, CLU, Eiffel, Emerald, Pascal, Smalltalk, C++, and many other object-oriented programming languages | |
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.
Computer scientists such as Bjarne Stroustrup, creator of C++, and James Gosling, creator of Java, have acknowledged Simula as a major influence. Simula-type objects are reimplemented in C++, Object Pascal, Java, C#, and many other languages.