# Kristen Nygaard

> 1926–2002 · Computer Scientist, Co-creator of Simula
>
> **Recorded contribution:** Co-created Simula, introducing class, object, inheritance, and simulation mechanisms later recognized as foundational to object-oriented programming

## How to use this dossier

Read for a causal chain, not a hero story: inherited problem → contribution → mechanism → downstream capability → limit. Then close the page and complete the reconstruction exercise from memory.

## 1. Historical orientation

Kristen Nygaard (1926–2002), working at the Norwegian Computing Center with Ole-Johan Dahl, created Simula I and Simula 67 to model complex systems such as operations research and discrete events. Their key abstraction combined a record of state with procedures that act on it, arranged through classes, objects, inheritance, and virtual procedures. Those mechanisms became foundational to object-oriented programming, but the phrase 'first OOP language' is retrospective and should be qualified: Simula emerged from ALGOL, and later Smalltalk gave object orientation a different, message-centered form. Nygaard also connected system design to labor participation and democratic control of workplace technology.

## 2. The problem inherited

Simulation programs needed to represent many interacting entities that share behavior but maintain distinct state, and flat procedures plus arrays made those models difficult to organize and extend.

## 3. The central contribution

Nygaard and Dahl designed Simula's class and object mechanisms so a simulation entity could package state, behavior, lifetime, and specialization in one reusable abstraction.

## 4. Reconstruct the mechanism

1. Define a class as a pattern containing attributes and procedures for a family of simulated entities.
2. Instantiate objects with separate local state while reusing the class's behavior.
3. Let a subclass inherit an existing pattern and refine selected behavior through virtual procedures.
4. Schedule object activations and suspensions so many process-like entities advance through simulated time.

## 5. What changed downstream

- Simula directly influenced Smalltalk, C++, Java, C#, and mainstream object-oriented design.
- Classes made simulation models correspond more visibly to interacting domain entities.
- Nygaard's participatory-design work broadened computing from technical construction to who controls workplace systems.

## 6. Attribution, limits, and uncertainty

- Dahl and Nygaard share authorship, with important contributions from their Norwegian Computing Center colleagues.
- Object orientation has several lineages; Simula's class inheritance is not identical to Smalltalk's message-passing philosophy.
- Inheritance can create fragile coupling, and mapping every domain noun to a mutable object can obscure data flow and concurrency.

## 7. Reconstruction lab

Model a one-server queue twice: first with parallel arrays and global procedures, then with Customer and Server classes whose instances hold state. Add a PriorityCustomer subclass, run both versions on the same arrivals, and compare extension cost and hidden coupling.

## 8. Evidence trail

- [The Development of the SIMULA Languages](https://doi.org/10.1145/800025.1198392) — ACM SIGPLAN
- [Ole-Johan Dahl and Kristen Nygaard](https://amturing.acm.org/award_winners/nygaard_5916220.cfm) — Association for Computing Machinery

---

*Research checked 2026-08-09. Dates, roles, and claims about living people are historical snapshots. Linked sources remain the authority; this dossier is original instructional synthesis.*
