# Simula

> programming language

**Wikidata**: [Q212569](https://www.wikidata.org/wiki/Q212569)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Simula)  
**Source**: https://4ort.xyz/entity/simula

## Summary
Simula is a pioneering programming language developed in the 1960s, widely recognized as the first object-oriented programming language. It introduced key concepts like classes and objects, laying the foundation for modern programming languages such as Java and C++.

## Key Facts
- Simula was created in 1962 by Norwegian computer scientists **Ole-Johan Dahl** and **Kristen Nygaard**.
- It is classified as an **object-based language**, **simulation language**, and **object-oriented programming language**.
- The language has two major versions: **Simula I** (1962) and **Simula 67** (1967), with **Standard SIMULA** finalized in 1986.
- Simula runs on operating systems including **Unix-like systems**, **Microsoft Windows**, **z/OS**, and **TOPS-10**.
- It was influenced by **ALGOL 60** and **SIMSCRIPT**, another simulation language.
- Simula introduced **static typing** and **nominative typing** disciplines.
- The language supports multiple programming paradigms: **object-oriented**, **procedural**, **imperative**, and **structured programming**.

## FAQs
### Q: Who created Simula?
A: Simula was developed by Norwegian computer scientists **Ole-Johan Dahl** and **Kristen Nygaard** in 1962.

### Q: What is Simula known for?
A: Simula is renowned as the first **object-oriented programming language**, introducing concepts like **classes** and **objects** that became fundamental in modern programming.

### Q: What operating systems support Simula?
A: Simula can run on **Unix-like systems**, **Microsoft Windows**, **z/OS**, **TOPS-10**, and **MVS**.

### Q: What programming paradigms does Simula support?
A: Simula supports **object-oriented**, **procedural**, **imperative**, and **structured programming** paradigms.

### Q: What languages influenced Simula?
A: Simula was influenced by **ALGOL 60** and **SIMSCRIPT**, a simulation language developed in 1962.

## Why It Matters
Simula revolutionized software development by introducing **object-oriented programming (OOP)**, a paradigm that organizes code into reusable **classes** and **objects**. This innovation made software more modular, maintainable, and scalable, influencing nearly all modern programming languages, including **Java**, **C++**, and **Python**. Before Simula, programming was largely procedural, making complex systems harder to manage. Its concepts like **inheritance** and **polymorphism** became cornerstones of software engineering, enabling the development of large-scale applications. Simula also advanced **simulation programming**, allowing scientists and engineers to model real-world systems more effectively. Its legacy endures in both academic research and industry, cementing its place as one of the most influential languages in computing history.

## Notable For
- **First object-oriented programming language**, introducing **classes** and **objects**.
- Developed by **Ole-Johan Dahl** and **Kristen Nygaard**, pioneers in computer science.
- Directly influenced later languages like **Smalltalk**, **Java**, and **C++**.
- Introduced **static typing** and **nominative typing** disciplines.
- Used for **simulation programming**, enabling modeling of complex systems.

## Body
### Origins and Development
Simula was created in **1962** by **Ole-Johan Dahl** and **Kristen Nygaard** at the **Norwegian Computing Center**. The language was designed to address the needs of **simulation programming**, particularly for modeling real-world systems like shipping and industrial processes.

### Versions and Evolution
- **Simula I (1962)**: The initial version, focused on **discrete-event simulation**.
- **Simula 67 (1967)**: Introduced **object-oriented features**, including **classes**, **objects**, and **inheritance**.
- **Standard SIMULA (1986)**: The final standardized version, ensuring consistency across implementations.

### Technical Features
- **Object-Oriented Programming (OOP)**: Simula was the first language to implement **classes** and **objects**, allowing for **data encapsulation** and **code reusability**.
- **Typing Discipline**: Uses **static typing** and **nominative typing**, ensuring type safety at compile time.
- **Programming Paradigms**: Supports **procedural**, **imperative**, and **structured programming** alongside OOP.
- **Influences**: Borrowed syntax and structure from **ALGOL 60** while expanding its capabilities for simulation.

### Operating System Compatibility
Simula was designed to be portable and has been implemented on multiple operating systems, including:
- **Unix-like systems**
- **Microsoft Windows**
- **z/OS** (IBM mainframes)
- **TOPS-10** (DEC PDP-10)
- **MVS** (IBM mainframe operating system)

### Legacy and Influence
Simula’s introduction of **object-oriented programming** had a profound impact on software development. Languages like **Smalltalk (1972)**, **C++ (1985)**, and **Java (1995)** built upon its concepts, making OOP the dominant paradigm in modern programming. Its contributions to **simulation programming** also advanced fields like **operations research** and **system modeling**.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "Simula",
  "description": "A pioneering object-oriented programming language developed in 1962 by Ole-Johan Dahl and Kristen Nygaard.",
  "url": "https://en.wikipedia.org/wiki/Simula",
  "sameAs": [
    "https://www.wikidata.org/wiki/Q206855",
    "https://en.wikipedia.org/wiki/Simula"
  ],
  "additionalType": "ProgrammingLanguage"
}

## References

1. [Source](https://github.com/JohnMarkOckerbloom/ftl/blob/master/data/wikimap)
2. [Source](https://portablesimula.github.io/github.io/)
3. Freebase Data Dumps. 2013
4. National Library of Israel Names and Subjects Authority File
5. [OpenAlex](https://docs.openalex.org/download-snapshot/snapshot-data-format)