Ole-Johan Dahl

Last updated

Ole-Johan Dahl
Ole-Johan Dahl.jpg
Born(1931-10-12)12 October 1931
Died29 June 2002(2002-06-29) (aged 70)
Asker, Norway
Alma mater University of Oslo
Known for Simula
Object-oriented programming
Awards Turing Award (2001)
IEEE John von Neumann Medal (2002)
Scientific career
Fields Computer science
Institutions Norwegian Computing Center
University of Oslo

Ole-Johan Dahl (12 October 1931 – 29 June 2002) was a Norwegian computer scientist. Dahl was a professor of computer science at the University of Oslo and is considered to be one of the fathers of Simula and object-oriented programming along with Kristen Nygaard. [1] [2]



Dahl was born in Mandal, Norway. He was the son of Finn Dahl (1898–1962) and Ingrid Othilie Kathinka Pedersen (1905–80). When he was seven, his family moved to Drammen. When he was thirteen, the whole family fled to Sweden during the German occupation of Norway in World War II. After the war's end, Dahl studied numerical mathematics at the University of Oslo. [1]

Dahl became a full professor at the University of Oslo in 1968 and was a gifted teacher as well as researcher. Here he worked on Hierarchical Program Structures, probably his most influential publication, which appeared co-authored with C.A.R. Hoare in the influential book Structured Programming of 1972 by Dahl, Edsger Dijkstra, and Hoare, perhaps the best-known academic book concerning software in the 1970s. As his career advanced, Dahl grew increasingly interested in the use of formal methods, to rigorously reason about object-orientation for example. His expertise ranged from the practical application of ideas to their formal mathematical underpinning to ensure the validity of the approach. [3]

Dahl is widely accepted as Norway's foremost computer scientist. With Kristen Nygaard, he produced the initial ideas for object-oriented (OO) programming in the 1960s at the Norwegian Computing Center (Norsk Regnesentral (NR)) as part of the Simula I (1961–1965) and Simula 67 (1965–1968) simulation programming languages, which began as an extended variant and superset of ALGOL 60. [4] Dahl and Nygaard were the first to develop the concepts of class, subclass (allowing implicit information hiding), inheritance, dynamic object creation, etc., all important aspects of the OO paradigm. An object is a self-contained component (with a data structure and associated procedures or methods) in a software system. These are combined to form a complete system. The object-oriented approach is now pervasive in modern software development, including widely used imperative programming languages such as C++ and Java.

He received the Turing Award for his work in 2001 (with Kristen Nygaard). He received the 2002 Institute of Electrical and Electronics Engineers (IEEE) John von Neumann Medal (with Kristen Nygaard) [5] and was named Commander of the Royal Norwegian Order of St. Olav in 2000. [6]

Early papers

See also

Related Research Articles

Edsger W. Dijkstra Dutch computer scientist

Edsger Wybe Dijkstra was a Dutch computer scientist, programmer, software engineer, systems scientist, science essayist, and pioneer in computing science. A theoretical physicist by training, he worked as a programmer at the Mathematisch Centrum (Amsterdam) from 1952 to 1962. A university professor for much of his life, Dijkstra held the Schlumberger Centennial Chair in Computer Sciences at the University of Texas at Austin from 1984 until his retirement in 1999. He was a professor of mathematics at the Eindhoven University of Technology (1962–1984) and a research fellow at the Burroughs Corporation (1973–1984). In 1972, he became the first person who was neither American nor British to win the Turing Award.

Simula Early object-oriented programming language

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 a fairly faithful superset of ALGOL 60, also influenced by the design of Simscript.

Tony Hoare British computer scientist

Sir Charles Antony Richard Hoare is a British computer scientist. He developed the sorting algorithm quicksort in 1959–1960. He also developed Hoare logic for verifying program correctness, and the formal language communicating sequential processes (CSP) to specify the interactions of concurrent processes and the inspiration for the programming language occam.

A computer simulation language is used to describe the operation of a simulation on a computer. There are two major types of simulation: continuous and discrete event though more modern languages can handle more complex combinations. Most languages also have a graphical interface and at least a simple statistic gathering capability for the analysis of the results. An important part of discrete-event languages is the ability to generate pseudo-random numbers and variants from different probability distributions.

Norwegian Computing Center

Norwegian Computing Center is a private, independent, non-profit research foundation founded in 1952. NR carries out contract research and development in the areas of computing and quantitative methods for a broad range of industrial, commercial and public service organisations in the national and international markets. NR's projects cover a large variety of applied and academic problems. NR has its offices near the university campus Blindern in Oslo, Norway, as part of what is known as Forskningsparken, Park of Research.

Kristen Nygaard Norwegian computer scientist and mathematician

Kristen Nygaard was a Norwegian computer scientist, programming language pioneer, and politician. Internationally, Nygaard is acknowledged as the co-inventor of object-oriented programming and the programming language Simula with Ole-Johan Dahl in the 1960s. Nygaard and Dahl received the 2001 A. M. Turing Award for their contribution to computer science.

In computer science, a smart pointer is an abstract data type that simulates a pointer while providing added features, such as automatic memory management or bounds checking. Such features are intended to reduce bugs caused by the misuse of pointers, while retaining efficiency. Smart pointers typically keep track of the memory they point to, and may also be used to manage other resources, such as network connections and file handles. Smart pointers were first popularized in the programming language C++ during the first half of the 1990s as rebuttal to criticisms of C++'s lack of automatic garbage collection.

Peter Landin British computer scientist (1930–2009)

Peter John Landin was a British computer scientist. He was one of the first to realise that the lambda calculus could be used to model a programming language, an insight that is essential to development of both functional programming and denotational semantics.

History of programming languages

The history of programming languages spans from documentation of early mechanical computers to modern tools for software development. Early programming languages were highly specialized, relying on mathematical notation and similarly obscure syntax. Throughout the 20th century, research in compiler theory led to the creation of high-level programming languages, which use a more accessible syntax to communicate instructions.

SIMSCRIPT is a free-form, English-like general-purpose simulation language conceived by Harry Markowitz and Bernard Hausner at the RAND Corporation in 1962. It was implemented as a Fortran preprocessor on the IBM 7090 and was designed for large discrete event simulations. It influenced Simula.

Programming language theory Branch of computer science

Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of formal languages known as programming languages and of their individual features. It falls within the discipline of computer science, both depending on and affecting mathematics, software engineering, linguistics and even cognitive science. It has become a well-recognized branch of computer science, and an active research area, with results published in numerous journals dedicated to PLT, as well as in general computer science and engineering publications.

Simula Research Laboratory is a Norwegian non-profit research organisation located at Fornebu, Bærum just outside Oslo, Norway.

The Dahl–Nygaard Prize is awarded annually to a senior researcher with outstanding career contributions and a younger researcher who has demonstrated great potential. The senior prize is recognized as one of the most prestigious prizes in the area of software engineering, though it is a relatively new prize.

Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code: data in the form of fields, and code, in the form of procedures.

Drude Berntsen Norwegian computer scientist

Drude Elisabeth Berntsen is a Norwegian computer scientist who was director of the Norwegian Computing Center from 1970 to 1990. It was unusual for a woman to hold such a high-ranking position at a time of male dominance in computing.

The Rosing Prizes are awarded to people who have made contributions to the Norwegian IT community, it is the Norwegian Computer Society that organizes the award ceremony. The Norwegian Computer Society was established in 1953 in Oslo and has over 8500 members, making it one of the oldest computer societies in Europe. It is also a member of the International Federation for Information Processing, the Council of European Professional Informatics Societies (CEPSIS) and the Nordic Data Union (NDU).

Department of Informatics, University of Oslo

The Department of Informatics at the University of Oslo is the oldest and largest department for informatics in Norway. The department was in 2017 ranked number 1 in Norway, 3rd in Europe, and 12th in the world in Computer Science and Engineering by Academic Ranking of World Universities.


  1. 1 2 Nygaard, Kristen. "Ole-Johan Dahl". Large Norwegian Encyclopedia. Retrieved 14 November 2020.
  2. Rossen, Eirik. "Kristen Nygaard". Norwegian Biographical Lexicon. Large Norwegian encyclopedia. Retrieved 1 May 2017.
  3. "Tribute to Ole-Johan Dahl". University of Oslo. 2002. Retrieved 14 November 2020.
  4. Dahl, Ole-Johan; Myhrhaug, Bjørn; Nygaard, Kristen (1970). Common Base Language (PDF) (Report). Norwegian Computing Center. p. 1.3.1. Archived from the original on 25 December 2013. Retrieved 14 November 2020.CS1 maint: unfit URL (link)
  5. "Recipients IEEE John von Neumann Medal".
  6. Black, Andrew P. (2001). "Ole-Johan Dahl". ACM Awards. Association for Computing Machinery. Retrieved 14 November 2020.