# Ole-Johan Dahl

Ole-Johan Dahl (12 octobre 1931 - 29 juin 2002) est un informaticien norvégien. Dahl est professeur d'informatique à l'université d'Oslo et est considéré comme l'un des pères de Simula et de la programmation orientée objet avec Kristen Nygaard$^,$.

## Carrière

Dahl est né à Mandal, en Norvège. Il est le fils de Finn Dahl (1898–1962) et d'Ingrid Othilie Kathinka Pedersen (1905–80). Quand il a sept ans, sa famille déménage à Drammen. Quand il a treize ans, toute la famille s'enfuit en Suède pendant l'occupation allemande de la Norvège pendant la Seconde Guerre mondiale. Après la fin de la guerre, Dahl étudie les mathématiques numériques à l'université d'Oslo.
Dahl devient professeur titulaire à l'université d'Oslo en 1968. Il y travaille sur Hierarchical Program Structures, probablement sa publication la plus influente, qui est co-écrite avec Tony Hoare dans le livre Structured Programming de 1972 par Dahl, Edsger Dijkstra et Hoare, peut-être le livre académique le plus connu concernant les logiciels dans le années 1970. Au fur et à mesure de sa carrière, Dahl s'intéresse de plus en plus à l'utilisation des méthodes formelles, pour raisonner rigoureusement sur l'orientation objet par exemple. Son expertise va de l'application pratique des idées à leur fondement mathématique formel pour assurer la validité de l'approche.
Dahl est largement reconnu comme le plus grand informaticien de Norvège. Avec Kristen Nygaard, il produit les premières idées de programmation orientée objet (OO) dans les années 1960 au Centre informatique norvégien (Norsk Regnesentral (NR)) dans le cadre de Simula I (1961-1965) et Simula 67 (1965-1968) langages de programmation de simulation, qui commencent comme une variante étendue et un sur-ensemble d'ALGOL 60. Dahl et Nygaard sont les premiers à développer les concepts de classe, de sous-classe (permettant de masquer des informations), d'héritage, de création dynamique d'objets, etc., tous des aspects importants du paradigme orientée objet. Un objet est un composant autonome (avec une structure de données et des procédures ou méthodes associées) dans un système logiciel. Ceux-ci sont combinés pour former un système complet. L'approche orientée objet est désormais omniprésente dans le développement de logiciels modernes, notamment dans les langages de programmation impératifs largement utilisés tels que C++ et Java.
Il reçoit le prix Turing pour son travail en 2001 (avec Kristen Nygaard). Il reçoit la médaille John von Neumann en 2002 (avec Kristen Nygaard) et est nommé Commandeur de l'Ordre royal norvégien de Saint-Olaf en 2000.
L'Association internationale pour les technologies objets donne au prix Dahl-Nygaard le nom de Dahl.

## Premiers articles

* (en) O.-J Dahl, Multiple index countings on the Ferranti Mercury computer, Oslo, Norwegian Defence Research Establishment, 1957
* (en) O.-J. Dahl et Jan V. Garwick, Programmer's handbook for the Ferranti Mercury Computer, Frederic at the Norwegian Defense Research Establishment – 2nd ed., Kjeller, Norwegian Defence Research Establishment, 1958
* Automatisk kodning: et prosjekt ved Forsvarets forskningsinstitutt
* (en) Ole-Johan Dahl et Kristen Nygaard, Basic concepts of Simula: an ALGOL based simulation language, Oslo, Norwegian Computing Center, 1965
* (en) Simula: a language for programming and description of discrete event systems: introduction and user's manual, Oslo, Norwegian Computing Center, 1965
* (en) Ole-Johan Dahl, Discrete event simulation languages: lectures delivered at the NATO summer school, Villard-de-Lans, September 1966, Oslo, Norwegian Computing Center, 1966
* (en) Ole-Johan Dahl et Kristen Nygaard, Simula: an ALGOL based simulation language, Oslo, Norwegian Computing Center, 1966
* (en) Dahl et Nygaard, « Simula: an ALGOL-based simulation language », Communications of the ACM, New York, Association for Computing Machinery, vol. 9, n$^o$ 9,‎ 1966, p. 671–678 (DOI 10.1145/365813.365819, S2CID 11032334)
* (en) Ole-Johan Dahl et Kristen Nygaard, I: Simulation programming languages: Proceedings of the IFIP working conference on simulation programming languages, Oslo, mai 1967 (réimpr. 1968), « Class and subclass declarations » Organized by IFIP Technical Committee 2, programming languages; O.-J. Dahl, conference chairman.
* (en) Ole-Johan Dahl, Discrete event simulation languages, London, Academic Press (Programming languages: NATO Advanced Study Institute, 1968
* (en) Ole-Johan Dahl, Bjørn Myhrhaug et Kristen Nygaard, Simula 67: Common Base Language, Oslo, Norwegian Computing Center (Publication S; Revised 1970, Publication 22, 1968