Informatiker. Foreldre: Skipsfører Finn Dahl (1898–1962) og Ingrid Othilie Kathinka Pedersen (1905–80). Gift 1963 med psykiater Tove Torget (9.8.1938–), datter av overingeniør Arne Daniel Torget (1904–83) og Sonja Dahl (1912–98).

Ole-Johan Dahl er professor i informatikk ved Universitetet i Oslo og var blant de første som arbeidet med databehandlingsteori på universitetsnivå. Han er særlig kjent for utviklingen av programmeringsspråket Simula.

Ole-Johan Dahl kom i kontakt med datamaskiner da han 1952 avtjente sin verneplikt ved Forsvarets Forskningsinstitutt (FFI). Her hadde Jan V. Garwick 1947 fått ansvaret for matematisk analyse og beregninger, og Dahl ble plassert på “regnekontoret” som var ledet av Garwicks assistent, Kristen Nygaard. I årene som fulgte, utviklet FFI et faglig samarbeid med miljøet rundt universitetet i Manchester og elektronikkfirmaet Ferranti, og 1957 fikk FFI det første eksemplar av Ferrantis Mercury-maskin. Maskinen ble kalt FREDERIC, og 1958 avla Dahl som den første i Norge embetseksamen med hovedoppgave i programmering. Hans neste prosjekt var å utvikle og implementere et “høy-nivå”-språk for numeriske beregninger, MAC. Dahl og Garwicks dannet den første viktige programmeringsgruppen i Norge. En kan trygt si at Garwick var norsk informatikks far og Dahl hans fremste elev.

Fra 1962 arbeidet Dahl ved Norsk Regnesentral. Sammen med Nygaard utviklet han i løpet av de neste seks årene et spesialisert programmeringsspråk for simuleringsoppgaver, og som inneholdt termer og språkelementer som var velegnet for å beskrive store og sammensatte systemer. Dette språket ble kalt SIMULA. Det fortelles at en nyansatt på Norsk Regnesentral en gang forskrekket løp ned til sentralborddamen og ropte: “Hva skal vi gjøre? Det står to menn og slåss foran tavlen i 2.etg.” Sentralborddamen stakk hodet ut av luken sin, lyttet litt og sa: “Nei, det er ikke farlig. Det er bare Kristen og Ole-Johan som diskuterer Simula.”

Den første versjonen, med objekt- og klasse-begrepene i sin opprinnelige form, var klar våren 1965. Under arbeidet med å forbedre Simula oppfant Dahl og Nygaard 1967 det som i dag er kjent som “nedarving” (inheritance) i programmeringspråk. Dette ledet til en grunnleggende nybearbeiding av språket til det som senere har fått navnet Simula 67, og som umiddelbart vakte stor oppsikt i fagkretser i hele verden. Ideene i Simula er blitt en modell for mange moderne dataspråk. Etter 33 år, i år 2000, har tenkemåten i Simula – nå kalt objektorientering – blitt den dominerende innenfor informatikk over hele verden.

1968 ble Ole-Johan Dahl bedt om å søke det første professoratet i det som skulle bli informatikk-faget ved Universitetet i Oslo. Fagområdet var nytt, og det hersket skepsis og usikkerhet om hva det egentlig skulle omfatte, og om hvilken betydning datamaskiner ville komme til å få i samfunnet i fremtiden. Dahls professorat var opprinnelig innen området numerisk analyse, men ble 1970 omdefinert til et professorat i databehandling, og Dahl var den eneste professor i faget i 10 år. Dahl og hans elever utviklet et studietilbud i databehandling som var så gjennomarbeidet og banebrytende at det med små justeringer ble brukt langt opp i 1980-årene. Den undervisning som ble tilbudt ved Universitetet i Oslo i slutten av 1960-årene, var helt på høyde med den som ble tilbudt ved de fremste amerikanske universiteter. I disse årene arbeidet Ole-Johan Dahl særlig med formelle strukturer i dataprogrammer, og bidrog på vesentlig vis til videreutvikling av programmeringsteori.

Ved Institutt for informatikk har Ole-Johan Dahl først og fremst interessert seg for programvarens pålitelighet og har forsket innen fagfeltene programmeringsspråk, programspesifikasjon og verifikasjon, såkalte formelle metoder. Målet er å kunne resonnere om programmer etter matematiske prinsipper, slik at man kan bevise at ønskede egenskaper er oppfylt – selv før programmene kjøres. I motsetning til testing av programmer, kan man analysere programmers oppførsel for en uendelighet av ulike “input”, evt. alle mulige omgivelser. Dette fagfeltet belyser fundamentale vitenskapelige aspekter innen informatikk, og har påvirket beslektede felt, ikke minst språk og metodikk for programmering og problemspesifikasjon.

Selv om bruk av formelle metoder kan være tidkrevende og kostbar i praktisk programutvikling, vil formelle metoder kunne ha stor nytteverdi for anvendelser der store verdier eller menneskeliv kan gå tapt om det er feil i programvaren (eksempelvis i en autopilot). I motsetning til mange andre forskere i fagfeltet, har Dahl i sin forskning lagt sterk vekt på databehandlingens praktiske anvendelse. Han sier ofte “Jeg er ingen matematiker” og unnlater å ta del i forskning som kun har matematisk interesse. Dahl søker alltid etter enkelhet og eleganse og kan være nådeløs i sin kritikk, både av seg selv, men også av andre når det er på sin plass, men med sin evne til å inspirere og få alle til å yte sitt aller ypperste er han samtidig en høyt elsket lærer, veileder og kollega.

Boken Verifiable Programming gir en oppsummering av mye av den forskning han står for. Samtidig er den et resultat av mange års undervisning. For Dahl har undervisning og forskning gått hånd i hånd, og et utall studenter har hatt ham som hovedfags- og doktorgradsveileder. Internasjonalt er Dahl en meget kjent forsker, noe et stort antall inviterte foredrag vitner om. Spesielt bør nevnes hans over 30-årige medlemskap i International Federation of Information Processing's Working Group 2.3 (Programming Methodology). Dette er et lukket forum bestående av de ypperste forskere i verden innenfor feltet.

Ole-Johan Dahl er musikkelsker og selv en glimrende amatørpianist. Han kjenner hele den klassiske musikkverdenen, og spesielt kammermusikken står hans hjerte nær. Musikk fyller mye av hans fritid, og i tillegg til selv å delta som utøver har han også viet sin tid til administrasjon. Han har bl.a. vært et sentralt medlem av styret for Oslo Kvartettforening i en årrekke og en flittig deltaker på kammermusikkkursene på Nansenskolen på Lillehammer fra disse startet i 1950-årene. Med sin entusiasme og sin store kjennskap til den klassiske musikkverden har han vært en uvurderlig inspirasjonskilde på disse kursene.

  • SIMULA – a Language for Programming and Description of Discrete Event Systems (sm.m. K. Nygaard), 1965
  • Class and Subclass Declarations (sm.m. K. Nygaard), i J. Buxton (red.): Simulation Programming Languages, Oxford 1968
  • SIMULA 67 Common Base Language (sm.m. B. Myhrhaug og K. Nygaard), 1968 og senere utg.
  • Hierarchical Program Structures (sm.m. C. A. R. Hoare), i Structured Programming, London 1972
  • Syntaks og semantikk i programmeringsspråk, Lund 1972
  • Algoritmer og datastrukturer (sm.m. D. Belsnes), Lund 1973
  • Can Program Proving be made practical?, i M. Amirchahy og D. Neel (ed.): Les Fondements de la programmation,Paris 1979
  • The Development of the Simula Languages (sm.m. K. Nygaard), i R. L. Wexelblat (red.): History of Programming Languages,London 1981
  • Verifiable Programming, New York 1992
  • Institutt for informatikk, UiO