Skip to content

Simula and object-oriented programming

Programming languages created in Oslo in the 1960s that introduced classes, objects and inheritance. They are the origin of object-oriented programming.

When
1961 to 1967
Credited to
Ole-Johan Dahl and Kristen Nygaard
Originated in
Norway
Originated in
Oslo
Kind
Idea
Fig. 2173 · Mainframe with tape reels

How it began

Kristen Nygaard had written computer simulation programs since 1957 and saw the need for a language to describe complex systems. In 1961 he and Ole-Johan Dahl began working together at the Norwegian Computing Center in Oslo on a description language for simulations. By May 1962 the main concepts of SIMULA I were set. Dahl implemented it on a UNIVAC 1107, and it was fully operational by January 1965. They then designed a general-purpose language, SIMULA 67, completed in 1967.

How it works

A Simula program is organized into classes rather than one monolithic structure. A class bundles a data structure with the procedures that work on it, and can be instantiated at run time; each instance is called an object. Subclasses reuse the code of a class, and late binding makes inheritance flexible. SIMULA 67 thus brought together encapsulation, inheritance, late binding and dynamic object creation. It built on the block structure of ALGOL 60.

How it spread

In the following years Dahl and Nygaard taught Simula widely, and it was implemented on other computers including the Burroughs B5500 and the Soviet Ural-16. In the 1970s Alan Kay took up its ideas in Smalltalk. Around 1980 Bjarne Stroustrup, who had been taught Simula by Nygaard, carried its approach into C++. About ten years later James Gosling's Java followed the Simula mechanisms closely.

What lasted

The style of organizing code and data that Simula introduced was later named object-oriented programming, and the IEEE milestone citation calls it the most popular programming paradigm. Dahl and Nygaard received the IEEE John von Neumann Medal in 2001 and the 2001 ACM Turing Award. Both died in 2002. In 2017 the IEEE dedicated a milestone at the University of Oslo, where the computer science building is named for Dahl.

Is this page right?Reviewed · How the research works

Something's off
Sources 3