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 var professor i informatikk ved Universitetet i Oslo og var blant de første som arbeidet med databehandlingsteori på universitetsnivå. Han var 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 var Ole-Johan Dahl først og fremst interessert i programvarens pålitelighet og han forsket innen fagfeltene programmeringsspråk, programspesifikasjon og verifikasjon, såkalte formelle metoder. Målet var å kunne resonnere om programmer etter matematiske prinsipper, slik at man kunne bevise at ønskede egenskaper er oppfylt – selv før programmene kjøres. I motsetning til testing av programmer, kunne 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, la Dahl i sin forskning sterk vekt på databehandlingens praktiske anvendelse. Han sa ofte “Jeg er ingen matematiker” og unnlot å ta del i forskning som kun hadde matematisk interesse. Dahl søkte alltid etter enkelhet og eleganse og kunne være nådeløs i sin kritikk, både av seg selv, men også av andre da det var på sin plass, men med sin evne til å inspirere og få alle til å yte sitt aller ypperste var han samtidig en høyt elsket lærer, veileder og kollega.

Boken Verifiable Programming gir en oppsummering av mye av den forskning han sto for. Samtidig var den et resultat av mange års undervisning. For Dahl gikk undervisning og forskning hånd i hånd, og et utall studenter hadde ham som hovedfags- og doktorgradsveileder. Internasjonalt var 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 var et lukket forum bestående av de ypperste forskere i verden innenfor feltet.

Ole-Johan Dahl var musikkelsker og selv en glimrende amatørpianist. Han kjente hele den klassiske musikkverdenen, og spesielt kammermusikken sto hans hjerte nær. Musikk fylte mye av hans fritid, og i tillegg til selv å delta som utøver viet han også sin tid til administrasjon. Han var bl.a. 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 var han 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 http://www.ub.uio.no/fag/informatikk-matematikk/informatikk/faglig/dns/