Ole-Johan Dahl
Encyclopedia
Ole-Johan Dahl was a Norwegian
computer scientist
and is considered to be one of the fathers of Simula
and object-oriented programming
along with Kristen Nygaard
.
, 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.
Norway
Norway , officially the Kingdom of Norway, is a Nordic unitary constitutional monarchy whose territory comprises the western portion of the Scandinavian Peninsula, Jan Mayen, and the Arctic archipelago of Svalbard and Bouvet Island. Norway has a total area of and a population of about 4.9 million...
computer scientist
Computer scientist
A computer scientist is a scientist who has acquired knowledge of computer science, the study of the theoretical foundations of information and computation and their application in computer systems....
and is considered to be one of the fathers of Simula
Simula
Simula is a name for two 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...
and object-oriented programming
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...
along with Kristen Nygaard
Kristen Nygaard
Kristen Nygaard was a Norwegian computer scientist, programming language pioneer and politician. He was born in Oslo and died of a heart attack in 2002.-Object-oriented programming:...
.
Career
Dahl, born in Mandal, NorwayNorway
Norway , officially the Kingdom of Norway, is a Nordic unitary constitutional monarchy whose territory comprises the western portion of the Scandinavian Peninsula, Jan Mayen, and the Arctic archipelago of Svalbard and Bouvet Island. Norway has a total area of and a population of about 4.9 million...
, 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
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...
(NR) as part of the Simula I (1961–1965) and Simula 67 (1965–1968) simulation
Simulation
Simulation is the imitation of some real thing available, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviours of a selected physical or abstract system....
programming languages. Dahl and Nygaard were the first to develop the concepts of class
Class (computer science)
In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...
, subclass (allowing implicit information hiding
Information hiding
In computer science, information hiding is the principle of segregation of the design decisions in a computer program that are most likely to change, thus protecting other parts of the program from extensive modification if the design decision is changed...
), inheritance
Inheritance (computer science)
In object-oriented programming , inheritance is a way to reuse code of existing objects, establish a subtype from an existing object, or both, depending upon programming language support...
, 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
Software development
Software development is the development of a software product...
, including widely used imperative programming languages such as Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
and C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
.
Dahl became a full professor
Professor
A professor is a scholarly teacher; the precise meaning of the term varies by country. Literally, professor derives from Latin as a "person who professes" being usually an expert in arts or sciences; a teacher of high rank...
at the University of Oslo
University of Oslo
The University of Oslo , formerly The Royal Frederick University , is the oldest and largest university in Norway, situated in the Norwegian capital of Oslo. The university was founded in 1811 and was modelled after the recently established University of Berlin...
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
Edsger Dijkstra
Edsger Wybe Dijkstra ; ) was a Dutch computer scientist. He received the 1972 Turing Award for fundamental contributions to developing programming languages, and was the Schlumberger Centennial Chair of Computer Sciences at The University of Texas at Austin from 1984 until 2000.Shortly before his...
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
Formal methods
In computer science and software engineering, formal methods are a particular kind of mathematically-based techniques for the specification, development and verification of software and hardware systems...
, 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
Turing Award
The Turing Award, in full The ACM A.M. Turing Award, is an annual award given by the Association for Computing Machinery to "an individual selected for contributions of a technical nature made to the computing community. The contributions should be of lasting and major technical importance to the...
for his work in 2001. He received the 2002 IEEE John von Neumann Medal (with Kristen Nygaard
Kristen Nygaard
Kristen Nygaard was a Norwegian computer scientist, programming language pioneer and politician. He was born in Oslo and died of a heart attack in 2002.-Object-oriented programming:...
) and was named Commander of the Royal Norwegian Order of St. Olav in 2000.
Early papers
- Multiple index countings on the Ferranti Mercury computer / by O.-J. Dahl. Oslo: Norwegian Defence Research EstablishmentNorwegian Defence Research EstablishmentThe Norwegian Defence Research Establishment is a research institute that conducts research and development on behalf of the Norwegian Armed Forces and provides expert advice to political and military defence leaders...
, 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 SIMULASimulaSimula is a name for two 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...
: an ALGOLALGOLALGOL is a family of imperative computer programming languages originally developed in the mid 1950s which greatly influenced many other languages and became the de facto way algorithms were described in textbooks and academic works for almost the next 30 years...
based simulation language / by Ole-Johan Dahl and Kristen NygaardKristen NygaardKristen Nygaard was a Norwegian computer scientist, programming language pioneer and politician. He was born in Oslo and died of a heart attack in 2002.-Object-oriented programming:...
. Oslo: Norsk Regnesentral, [1965?]. - SIMULASimulaSimula is a name for two 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...
: 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 CenterNorwegian Computing CenterNorwegian 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...
, 1966. - SIMULASimulaSimula is a name for two 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...
: an ALGOLALGOLALGOL is a family of imperative computer programming languages originally developed in the mid 1950s which greatly influenced many other languages and became the de facto way algorithms were described in textbooks and academic works for almost the next 30 years...
based simulation language / by Ole-Johan Dahl and Kristen Nygaard. Oslo: Norsk Regnesentral, 1966. - SimulaSimulaSimula is a name for two 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...
: an ALGOLALGOLALGOL is a family of imperative computer programming languages originally developed in the mid 1950s which greatly influenced many other languages and became the de facto way algorithms were described in textbooks and academic works for almost the next 30 years...
-based simulation language / Ole-Johan Dahl and Kristen NygaardKristen NygaardKristen Nygaard was a Norwegian computer scientist, programming language pioneer and politician. He was born in Oslo and died of a heart attack in 2002.-Object-oriented programming:...
. New YorkNew YorkNew York is a state in the Northeastern region of the United States. It is the nation's third most populous state. New York is bordered by New Jersey and Pennsylvania to the south, and by Connecticut, Massachusetts and Vermont to the east...
: Association for Computing MachineryAssociation for Computing MachineryThe Association for Computing Machinery is a learned society for computing. It was founded in 1947 as the world's first scientific and educational computing society. Its membership is more than 92,000 as of 2009...
, 1966. I: Communications of the ACMCommunications of the ACMCommunications of the ACM is the flagship monthly journal of the Association for Computing Machinery . First published in 1957, CACM is sent to all ACM members, currently numbering about 80,000. The articles are intended for readers with backgrounds in all areas of computer science and information...
; 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 PressAcademic PressAcademic Press is an academic book publisher. Originally independent, it was acquired by Harcourt, Brace & World in 1969. Reed Elsevier bought Harcourt in 2000, and Academic Press is now an imprint of Elsevier....
, 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).
Other sources
- From Object-Orientation to Formal Methods: Essays in Memory of Ole-Johan Dahl, Olaf Owe, Stein Krogdahl and Tom Lyche (eds.), SpringerSpringer Science+Business Media- Selected publications :* Encyclopaedia of Mathematics* Ergebnisse der Mathematik und ihrer Grenzgebiete * Graduate Texts in Mathematics * Grothendieck's Séminaire de géométrie algébrique...
, Lecture Notes in Computer ScienceLecture Notes in Computer ScienceLecture Notes in Computer Science is a series of computer science books that has been published by Springer Science+Business Media since 1973....
, Volume 2635, 2004. ISBN 3-540-21366-X. - Pioneer who Prepared the Ground for Road to Java, Jonathan BowenJonathan BowenJonathan P. Bowen FBCS FRSA is a British computer scientist. He is Chairman of Museophile Limited, an Emeritus Professor at London South Bank University where he has headed the Centre for Applied Formal Methods, and a Visiting Professor at the University of Westminster...
. The Times Higher Education SupplementThe Times Higher Education SupplementThe Times Higher Education , formerly Times Higher Education Supplement , is a weekly British magazine based in London reporting specifically on news and other issues related to higher education...
, 1677:34, 4 February 2005.