– June 29 2002
) was a Norwegian computer scientist
and is considered to be one of the fathers of Simula
and object-oriented programming
along with Kristen Nygaard
Dahl, born in Mandal, Norway, 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 (NR) as part of the Simula I (1961–1965) and Simula 67 (1965–1968) simulation programming languages. 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 Java and C++.
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-know academic book concerning software in the 1970s.
As his career progressed, Dahl became 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.
He received the Turing Award for his work in 2001. He received the 2002 IEEE John von Neumann Medal (with Kristen Nygaard) and was named Commander of the Royal Norwegian Order of St. Olav in 2000.
- Multiple index countings on the Ferranti Mercury computer / by O.-J. Dahl. Oslo: Norwegian Defence Research Establishment, 1957.
- Programmer's handbook for the Ferranti Mercury Computer, Frederic at the Norwegian Defense Research Establishment / By O.-J. Dahl, and Jan V. Garwick. – 2nd ed., Kjeller: Norwegian Defence Research Establishment, 1958.
- Automatisk kodning: et prosjekt ved Forsvarets forskningsinstitutt.
- Simscript implementation / by Vic Bell and Ole-Johan Dahl. Oslo: Norwegian Computing Center, 1963.
- Basic concepts of SIMULA: an ALGOL based simulation language / by Ole-Johan Dahl and Kristen Nygaard. Oslo: Norsk regnesentral, [1965?].
- SIMULA: a language for programming and description of discrete event systems : introduction and user's manual. Oslo: Norsk regnesentral, 1965.
- Discrete event simulation languages: lectures delivered at the NATO summer school, Villard-de-Lans, September 1966 / by Ole-Johan Dahl. Oslo: Norsk regnesentral/Norwegian Computing Center, 1966.
- SIMULA: an ALGOL based simulation language / by Ole-Johan Dahl and Kristen Nygaard. Oslo: Norsk regnesentral, 1966.
- Simula: an ALGOL-based simulation language / Ole-Johan Dahl and Kristen Nygaard. New York: Association for Computing Machinery, 1966. I: Communications of the ACM; 9(1966).
- Class and subclass declarations / Ole-Johan Dahl and Kristen Nygaard. Amsterdam: North-Holland, c1968. I: Simulation programming languages: proceedings of the IFIP working conference on simulation programming languages, Oslo, May 1967 / O.-J. Dahl, conference chairman; organized by IFIP Technical Committee 2, programming languages; edited by J.N. Buxton.
- Discrete event simulation languages / Ole-Johan Dahl. London: Academic Press, 1968. (Programming languages : NATO Advanced Study Institute / edited by G. Genuys.)
- SIMULA 67: common base language / by Ole-Johan Dahl, Bjørn Myhrhaug and Kristen Nygaard. Oslo: Norsk regnesentral, 1968. (Publication S / Norwegian Computing Center; 2) Rev. 1970: Common base language (Publ.; 22).