Ole-Johan Dahl (born October 12, 1931, Mandal, Norway—died June 29, 2002, Asker) was a Norwegian computer scientist who created the first object-oriented programming languages, Simula I and Simula 67, with his longtime colleague Kristen Nygaard.
Dahl joined the military in 1952 and worked at the Norwegian Defense Research Establishment in Oslo, where he met Nygaard and developed MAC (Mercury Automatic Coding), a programming language for the Ferranti Mercury computer. He received a master’s in numerical mathematics from the University of Oslo in 1958. Nygaard became research director of the Norwegian Computing Center in 1960 and asked Dahl to join him in 1961 on a project for a programming language for making simulations.
Dahl and Nygaard devised two languages: Simula I, meant for simulations, and Simula 67, a general-purpose language. As the first object-oriented programming languages, Simula I and Simula 67 packaged data and the operations on them so that only the operations are publicly accessible and internal details of the data structures are hidden. This method of programming is at the root of many subsequent popular languages, such as C++, Java, and C#.
Dahl and Nygaard were both created Commanders of the Order of St. Olav in 2000, and they shared both the 2001 A.M. Turing Award, the highest honour in computer science, and the Institute of Electrical and Electronics Engineers 2002 John von Neumann Medal.