# Ole-Johan Dahl

Ole-Johan Dahl (Mandal, Noruega, 12 de octubre de 1931 - 29 de junio de 2002) fue un científico de la computación noruego considerado uno de los padres del lenguaje de programación Simula, y de la programación orientada a objetos, junto con Kristen Nygaard.
Dahl, nacido en Mandal, Noruega, es uno de los científicos de la computación más famosos en Noruega. Junto con Kristen Nygaard, produjo las primeras ideas sobre programación orientada a objetos en los años 1960 en el Centro Noruego de Cómputo (NCC), como parte de los lenguajes de programación para simulación Simula I (1961–1965) y Simula 67 (1965–1968). Dahl y Nygaard fueron los primeros en desarrollar los conceptos de objeto, clase, herencia, creación dinámica de objetos, etc., todos importantes aspectos del paradigma de la POO. Un objeto es una componente autocontenida (con una estructura de datos asociada, y unos procedimientos propios, o métodos) en un sistema de software. Estas componentes se combinan para crear un sistema completo. El enfoque orientado a objetos es hoy en día omnipresente en el desarrollo de software, incluyendo lenguajes imperativos de gran aceptación como Java y C++.
Dahl logró plaza de profesor en la Universidad de Oslo en 1968, donde destacó como un privilegiado educador e investigador. Allí trabajó en Estructuras Jerárquicas de Programas, probablemente su publicación más influyente, escrita junto con C.A.R. Hoare en el famoso libro Structured Programming en 1972 por Dahl, Edsger Dijkstra y Hoare, quizá el libro sobre software más conocido de los años 1970.
Al avanzar su carrera, Dahl se interesó en el uso de métodos formales, por ejemplo para razonar rigurosamente sobre orientación a objetos. Como todo buen científico de la computación, su experiencia alcanzaba desde la aplicación práctica de sus ideas a la demostración matemática de su correctitud para asegurar la validez de su enfoque.
Recibió el Premio Turing por su trabajo en 2001, un año antes de fallecer.

## Artículos selectos

* «Multiple index countings on the Ferranti Mercury computer» / por 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, y Jan V. Garwick. – 2nd ed., Kjeller: Norwegian Defence Research Establishment, 1958.
* «Automatisk kodning: et prosjekt ved Forsvarets forskningsinstitutt»
* «Simscript implementation» / por Vic Bell y Ole-Johan Dahl. Oslo: Norwegian Computing Center, 1963.
* «Basic concepts of SIMULA: an ALGOL based simulation language» / por Ole-Johan Dahl y 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 / por Ole-Johan Dahl. Oslo: Norsk regnesentral/Norwegian Computing Center, 1966.
* «SIMULA: an ALGOL based simulation language» / por Ole-Johan Dahl y Kristen Nygaard. Oslo: Norsk regnesentral, 1966.
* «Simula: an ALGOL-based simulation language» / Ole-Johan Dahl y Kristen Nygaard. New York: Association for Computing Machinery, 1966. I: Communications of the ACM; 9(1966).
* «Class and subclass declarations» / Ole-Johan Dahl y Kristen Nygaard. Ámsterdam: 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; organizado por IFIP Technical Committee 2, programming languages; editado por 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» / por 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).