Key Points About Simula:

  • Simula, from history, is considered the first object-oriented programming (OOP) language ever.
  • The name Simula was obtained from two (2) simulation programming languages.
  • This OOP was created in 1962 to cater to simulations.

What Is Simula: Explained

Simula Programming Language
Simula was the first object-oriented programming language.

Simula, an acronym for Simulation Language, is touted as the first object-oriented programming language created by Norwegian developers Ole-Johan Dahl and Kristen Nygaard in 1962 when determining how programs can model or simulate the world as seen by computer users.

According to IT experts, Simula changed the narrative of programming languages, designing them around objects instead of linear functions or procedures. In essence, Using this OOP language, objects could communicate through messages, modeling the traditional idea of receiver and sender.

Quick Facts

Creator (person)
Ole-Johan Dahl and Kristen Nygaard.
Release Date
06/05/1967
Operating System
Unix-like, Windows, z/OS, TOPS-10, MVS
Developed By (company)
Norwegian Computing Center in Oslo.

Its major characteristic is that it can serve as a framework for special application languages, thanks to how it can be easily structured to suit specialized problem areas.

Inarguably, its use led to the introduction of a few other programming languages, such as Java, C++, and other new OOP systems and languages. Also, the general algorithmic language, ALGOL 60, is a subset of Simula 67.

How to Learn Simula

As mentioned earlier, the name “Simula” was gotten from two simulation programming languages, Simula 67 and Simula I. As the name implies, this OOP was originally introduced for simulations: designed as a general-purpose programming language, the software served as a framework for several features of the various present-day object-oriented languages.

Simula introduced classes, subclasses, objects, virtual procedures, inheritance, discrete event simulation, etc. And since its introduction, the object-oriented programming language has been instrumental in various applications, including Process Modelling, Very-Large-Scale Integrations, Algorithms, Communication Protocols, Typesetting, Education, Computer Graphics, and others.

Simula and Simula-type objects are also reimplemented in modern programming languages, such as C++, Java, C#, Object Pascal, etc.

The Difference Between Simula Vs. Smalltalk

Simula primarily described objects as procedures returning pointers to their respective activation records. In essence, the OOP was based on Procedures Activation Records.

Although also an object-oriented programming language, Smalltalk, on the other hand, is a dynamically-typed reflective programming language created to underpin the new era of computing. Originally released as Smalltalk-80, the programming language was partially designed for educational use, particularly constructionist learning. Smalltalk was created by Alan Kay, Adele Goldberg, and Dan Ingalls in 1972, 10 years after Simula was introduced.

Pros of Simula

  • Aided the simulation of complex computing systems.
  • Simula 67 serves as the framework for most mainstream OOP languages available now, including C# and Java.
  • This OOP also makes it easier to write new concurrency abstractions, such as schedulers.
  • Features automatic memory management, including garbage collection.

Pros of Smalltalk

  • Smalltalk makes it easier to learn Object-Oriented Programming.
  • It eliminates cognitive stress in many OOP languages, including Java.
  • Smalltalk aids faster development.
  • Smalltalk is a hobbyist language.

Cons of Simula

  • The complexity of creating programs.
  • Steep learning curve.

Cons of Smalltalk

  • Smalltalk doesn’t support preemptive multithreading.
  • Smalltalk isn’t expressive, making it unsuitable for more complex syntaxes, such as Rust, Haskell, etc.
  • Smalltalk may be slower for certain applications.

Simula Release History

Kristen Nygaard, an MS in mathematics at the University of Oslo, started writing computer simulation programs in 1957. He was seeking a better way to describe the heterogeneity and the operation of a system. To go further with his ideas on a formal computer language for describing a system, Nygaard realized that he needed someone with more computer programming skills than he had; thus, he contacted Ole-Johan Dahl, also an MS in mathematics and one of Norway’s foremost computer scientists, who joined him in January 1962.

Norwegian developers Ole-Johan Dahl and Kristen Nygaard
Norwegian developers Ole-Johan Dahl and Kristen Nygaard.

By May 1962, the main concepts for a simulation language were set. “SIMULA I” was born, a special-purpose programming language (similar to ALGOL 60) for simulating discrete event systems. SIMULA I was fully operational on the UNIVAC 1107 by January 1965. Dahl and Nygaard spent a lot of time teaching Simula in the following years. This development spread to several countries worldwide and was later implemented on Burroughs B5500 computers and the Russian URAL-16 computer.

In 1966 the British computer scientist Tony Hoare introduced the concept of record class construct, which Dahl and Nygaard extended with the concept of prefixing and other features to meet their requirements for a new generalized process concept. The first formal definition of Simula 67 appeared in May 1967. In June 1967, a conference was held to standardize the language and initiate several implementations. Dahl proposed to unify the type and the class concept. This led to serious discussions, and the board rejected the proposal. It was formally standardized at the first meeting of the SIMULA Standards Group in February 1968.

Simula: End of Development

Simula was designed and developed between 1962 and 1967 by Kristen Nygaard and Ole-Johan Dahl at the Norwegian Computing Centre (NCC) in Oslo.

However, the Simula programming language didn’t enjoy wide usage, primarily because of the few limitations it featured, including the complexity of using it to create programs. Nonetheless, it was significantly influential in the present-day programming world, including introducing important Object-Oriented Programming languages and concepts, including dynamic binding, inheritance, classes and objects, etc.

Up Next…

Want to know more about other programming languages? See below!

Simula – Guide: History, Origin, and More FAQs (Frequently Asked Questions) 

What is SIMULA?

Simula, an acronym for Simulation Language, is touted as the first object-oriented programming language created by Norwegian developers Ole-Johan Dahl and Kristen Nygaard in 1962 when seeking ways for programs to model or simulate the world as seen by computer users.

Who Invented the SIMULA Programming Language?

Ole-Johan Dahl and Kristen Nygaard.

When Was SIMULA Invented?

Simula was invented and developed between 1962 and 1967.

What Is SIMULA Programming Language Used For?

Simula is considered the first Object-Oriented Programming (OOP) language. It was designed initially for simulation use.

What Are the Key Features Of SIMULA?

The major characteristic of Simula is that it can serve as a framework for special application languages, thanks to how it can be easily structured to suit specialized problem areas. Also, the general algorithmic language, ALGOL 60, is a subset of Simula 67.

Is SIMULA Still Used?

Not entirely. However, it has been a significant influence on modern programming methodology.

About the Author

More from History-Computer

  • Available here: https://en.wikipedia.org/wiki/Simula
  • Available here: https://users.dcc.uchile.cl/~cgutierr/cursos/LP/SimulaHistory.html
  • Available here: https://www.computerhope.com/jargon/s/simula.htm
  • Available here: https://www.techopedia.com/definition/22088/simula
  • Available here: https://techbeacon.com/app-dev-testing/how-learning-smalltalk-can-make-you-better-developer