Dahl was born inMandal, Norway. He was the son of Finn Dahl (1898–1962) and Ingrid Othilie Kathinka Pedersen (1905–80). When he was seven, his family moved toDrammen. When he was thirteen, the whole family fled to Sweden during theGerman occupation of Norway inWorld War II. After the war's end, Dahl studied numericalmathematics at the University of Oslo.[1]
Dahl became a fullprofessor at theUniversity of Oslo in 1968 and was a gifted teacher as well as researcher. Here he worked onHierarchical Program Structures, probably his most influential publication, which appeared co-authored withC.A.R. Hoare in the influential bookStructured 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 offormal 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 theNorwegian Computing Center (Norsk Regnesentral (NR)) as part of theSimula I (1961–1965) and Simula 67 (1965–1968)simulationprogramming languages, which began as an extended variant andsuperset ofALGOL 60.[4] Dahl and Nygaard were the first to develop the concepts ofclass,subclass (allowing implicitinformation hiding),inheritance,dynamic object creation, etc., all important aspects of the OO paradigm. Anobject is a self-contained component (with a data structure and associated procedures ormethods) in a software system. These are combined to form a complete system. The object-oriented approach is now pervasive in modernsoftware development, including widely used imperative programming languages such asC++ andJava.
Dahl, O.-J.; Garwick, Jan V. (1958).Programmer's handbook for the Ferranti Mercury Computer, Frederic at the Norwegian Defense Research Establishment – 2nd ed., Kjeller.Norwegian Defence Research Establishment.
Automatisk kodning: et prosjekt ved Forsvarets forskningsinstitutt.
Simula: a language for programming and description of discrete event systems: introduction and user's manual. Oslo:Norwegian Computing Center. 1965.
Dahl, Ole-Johan (1966).Discrete event simulation languages: lectures delivered at the NATO summer school, Villard-de-Lans, September 1966. Oslo:Norwegian Computing Center.
Dahl, Ole-Johan;Nygaard, Kristen (May 1967). "Class and subclass declarations". Written at Oslo. In Buxton, J. N. (ed.).I: Simulation programming languages: Proceedings of the IFIP working conference on simulation programming languages.Amsterdam: North-Holland (published 1968). Organized by IFIP Technical Committee 2, programming languages; O.-J. Dahl, conference chairman.
Dahl, Ole-Johan (1968). Genuys, F. (ed.).Discrete event simulation languages. London:Academic Press (Programming languages: NATO Advanced Study Institute.