Da norsk ble verdensspråk

Kristen Nygaard og Ole-Johan Dahl ble i forrige uke tildelt "informatikkens Nobelpriser", Turing-prisen og Neumann-medaljen. Arild Haraldsen forteller deg hva de to norske professorene har betydd for IT-utviklingen.

Professorene Kristen Nygaard og Ole Johan Dahl fikk i forrige uke den prestisjebetonte Turing-prisen og den like respekterte von Neumann-medaljen - Informatikkens Nobelpriser.

Men kjenner alle til bakgrunnen og historien bak utviklingen av verdens første objekt-orienterte programmeringsspråk? Eller hvilken betydning det faktisk har hatt for IT-utviklingen? Her følger et bearbeidet og forkortet utdrag av Arild Haraldsens beskrivelse av historien om SIMULA som han utarbeidet i samarbeid med Kristen Nygaard, og gjengitt i boken "Den forunderlige reisen gjennom datahistorien".

Utdraget er gjengitt med tillatelse fra Universitetsforlaget:

Det var en gang - slik begynner som regel alle eventyr - en matematisk begavet, ung student som skulle avtjene sin verneplikt. Dette var i 1948. Verneplikten ble avtjent som siviltjeneste på Forsvarets Forskningsinstitutt på Kjeller. Her fikk han som veileder J. V. Garwick som han kjente fra sin tid som stipendiat ved Astrofysisk Institutt i Oslo.

Garwick møtte den unge soldaten den første dagen med et litt infamt smil, pekte på en stol og et skrivebord med en elektromekanisk regnemaskin, og sa: "Her skal du i 14 måneder avtjene verneplikten med å regne for meg!".

Og det gjorde Kristen Nygaard som studenten het - nærmere bestemt med å beregne dimensjonene på stavene til den atomreaktoren som skulle bygges. Det gikk jo bra. Noen atomulykke skjedde som kjent aldri.


Nygaard ble etter hvert mer og mer interessert i operasjonsanalyse og simulering. Han ble bl.a. satt til å finne ut hvor mye soldater kunne bære under transport ("krigføring utenfor vei"). I dette arbeidet vokste det frem en erkjennelse som snart skulle bli skjellsettende for den videre datautvikling. Data - informasjon - lever ikke sitt eget liv, det er en del av den sosiale og organisasjonsmessige sammenheng dataene opptrer i. Et eksempel: Nygaard hentet inn data fra soldatene ute i felten for å gjennomføre sitt prosjekt "krigføring utenfor vei". Om og om igjen erfarte han at dataene ikke stemte, eller at de var utilstrekkelige. Når de som leverte dataene ble konfrontert med dette, svarte de "ja, men da må dere komme ut i felten og se hva vi gjør i praksis, se helheten i hva vi gjør".

Dette innebar en vesentlig utfordring til datidens programmeringsspråk som var laget for å behandle data isolert, og ikke ut i fra sosial og organisasjonsmessige sammenheng de oppsto eller skulle brukes i. Men Nygaard tenkte anderledes. Data-analyser kunne åpenbart ikke bare dreie seg om data: data var en del av et sosialt fenomen; de måtte også beskrive den virkelighet de skulle opptre i, og den virkelighetsforståelse de som brukte dataene hadde.

Nygaard fortsatte på FFI etter vernepliktstjenesten, og jobbet med operasjonsanalyse og simuleringsoppgaver for næringslivet. Igjen og igjen så han behovet for å sette dataene inn i en sosial, anvendelsesorientert. sammenheng

I 1960 ble han overtalt til å overta som forskningssjef ved Norsk Regnesentral. Han fikk etter hvert med seg flere forskere fra FFI over til Regnesentralen (noe som skapte sterk og langvarig strid mellom ham og FFIs mektige sjef Finn Lied). En av dem han overtalte til å hoppe over fra FFI til NR var Ole-Johan Dahl (bildet t.h.)


I 1961 fikk de idèen til et språk de kalte SIMULA (SIMUlation LAnguage). Det skulle på samme tid være et hjelpemiddel for mennesker til å forstå og beskrive selv meget komplekse systemer, og samtidig gi beskrivelser som datamaskiner automatisk kunne bruke til å generere de tilhørende simuleringsprogrammer.

Samarbeidet mellom de to - duoen Nygaard og Dahl - begynte fort å bære frukter. Nygaard var systemteoretikeren; han hadde sluttet å programmere i 1954. Dahl var programmeren; han hadde aldri drevet systemarbeid. Sammen skapte de SIMULA i begynnelsen av 60-årene. Samarbeidet mellom de to må ha fortonet seg som en komposisjon av John Lennon og Paul McCartney - to ulike personligheter utfordret hverandre i et kreativt samarbeid som sprengte grenser og skapte ny kunnskap.

Men de fikk god drahjelp av en hendelse som var like uventet som gledelig.

Norsk Regnesentral trengte en ny datamaskin. Valget falt på en maskin fra Dansk Regnesentral. Maskinen ble kalt GIER. Det var ikke den maskinen Nygaard hadde ønsket seg. Han ville heller ha en topp moderne stormaskin - UNIVAC 1107 - den første datamaskin som var like god til å utføre videnskapelige oppgaver som til å løse næringslivets problemer. Men den maskinen var for dyr. Nygaard fant seg derfor i valget av GIER.

Så - helt uventet - ble Nygaard, sammen med en rekke andre ledere av private bedrifter og forskningsinstitusjoner i Europa, invitert til USA av Univac for å se nærmere på den nye maskinen. Nygaard aksepterte tilbudet, og pakket kofferten. I kofferten lå idèen om SIMULA. Dette var i mai 1962. USA-besøket ble gjennomslaget for den videre utvikling av SIMULA. Det skyldes ikke minst et minnerikt besøk på en gresk nattklubb...

Historien er som følger: I USA traff Nygaard ledelsen i Univac, hvor de ga ham anledning til å snakke varmt om Simulas fortreffelighet. Det falt i god jord. En av de dyktigste selgerne i Univac - James W. Nickitas - tok vel i mot de norske gjestene. Nickitas gikk for å ha greske aner (egentlig er han tyrkisk). Hvorom allting var foreslo han at de skulle avslutte samtalene på en gresk nattklubb. Der - lyttende til bouzouki-musikk, og nytende synet av en skjønn mavedanserinne - kom et meget fristende tilbud: NR skulle få UNIVAC 1107 til halv pris. Som motytelse skulle NR levere en Simula-kompilator. Norsk Regnesentral skulle bli europeisk utstillingsvindu for den nye maskinen.

Vel tilbake i Oslo presenterte han tilbudet for styret i NR. Den første reaksjon var at han neppe kunne være vel bevart.

Men i slutten av juni kom Nickitas og hans sjef til Oslo og NR. De gjentok tilbudet. Og i tillegg - helt uventet, og totalt upåvirket av nattklubbstemninger og mavedanserinner - ble tilbudet utvidet til også å omfatte en utviklingskontrakt for Simula. Univac skulle med andre ord betale for Simulas videre utvikling.

Etter at UNIVAC-maskinen var på plass i 1963 gikk de i gang med å detaljutforme det nye språket.

Våren 1964 kom gjennombruddet: i stedet for å beskrive data og handlinger (operasjoner) hver for seg, ble et samlende komponentbegrep innført (først kalt prosess, senere objekt). Data og operasjoner ble beskrevet samlet som to aspekter av samme begrep: objektet. Og alle objekter som var kjennetegnet med samme struktur på data og handlinger, ble betraktet som å tilhøre samme klasse (først kalt aktivitet), og kunne gis en felles beskrivelse i en klasse-deklarasjon.

Objektorientert programmering - grunnstammen i dagens programmeringsspråk var med dette født.

Kompilatoren for det nye språket ble ferdig i januar 1965. NR fikk et av sine første oppdrag basert på det nye språket fra det svenske firmaet ASEA. Oppdraget ble gitt på den uttrykkelige betingelse at Simula måtte kjøre 10 ganger raskere på en Facit-maskin enn tradisjonelle språk. Resultatet ble 50 ganger raskere!

I 1966 begynte Dahl og Nygaard å se hvordan de kunne forbedre Simula. De ønsket en meget kraftigere referanse - eller peker-begrep, og samtidig ha en kompilator som kunne forby feilaktig bruk av referansene.

Løsningen kom i januar 1967 ved det som i dag kalles nedarving. Dette begrepet muligjorde for første gang å generalisere og spesialisere begreper. Det var et kjempeskritt fremover i programmeringens historie.

Den nye versjonen av Simula ble hetende SIMULA 67. Tiden var nå inne for å vise vidunderet frem for verden.

I 1967 arrangerte IFIP en konferanse om simuleringsspråk på Lysebu utenfor Oslo. Her ble den første fullstendige Simula-versjonen - Simula 67 - presentert for første gang for et internasjonalt publikum bestående av mange av verdens fremste innen programmeringsspråk. En av deltakerne var en amerikansk forsker fra Stanford - Donald Knuth - som selv hadde laget et simuleringsspråk. Etter å ha fått presentert Nygaard/Dahls Simula 67 la han imidlertid sitt eget arbeid bort. Simula 67 var så mye bedre.

Donald Knuth ble senere en sann Norges-venn og ambassadør for Simula i USA. Han ble også en meget god venn med Ole-Johan Dahl. Det var ikke bare programmeringsspråk som brakte dem sammen. De er begge fremragende pianister.

Gradvis slo Simula og objektorientert programmering igjennom, først i simuleringsoppgaver, så innen oppgaver som krevde mer komplekse datastrukturer (som parallellprogrammering). Viktigst var nok den utviklingen som skjedde ved forskningssenteret Xerox PARC, hvor Simula ble integrert med de nye grafiske brukergrensesnittene og objektorienterte databaser.

Det finnes derfor en direkte linje fra Simula over Windows til det Internett-baserte programmeringsspråket Java.

Og her kommer det som historikerne kaller det kontra-faktiske synspunkt: Dersom Norge hadde skaffet seg patentrettigheter til Simula, ville verdens rikeste mann ikke hett Bill Gates, og heller ikke vært amerikaner, men vært norske med navnene Nygaard/Dahl?

Men slik gikk det ikke. For ingen kan ta patent på idèer. Forskning bygger på "gratis"-prinsippet. Det utbrer kunnskap som skaper nye idèer og produkter. Uten Simula intet Windows, intet Java, intet Internett.

Hvor hadde IT-utviklingen vært i dag uten Nygaard og Dahls epokegjørende forskningsinnsats?


(Du kan lese mer om norsk og internasjonal IT-historie i boken A. Haraldsen: "Den forunderlige reisen gjennom datahistorien", Tano/Universitetsforlaget, 1999. Nygaard og Dahl har også nylig fått en hederlig omtale i en bok om programmeringsspråkenes historie: "Go To" av Steve Lohr, Basic Books, 2001).

Til toppen