Simula: Verden var ikke moden for den norske oppfinnelsen

Ole-Johan Dahl og Kristen Nygaard ga Norge et gedigent forsprang på 1960-tallet – om landet bare hadde visst å satse på en egen programvare-industri. Da kunne vi kanskje hatt vårt eget Microsoft eller Apple i dag.

FØR ALLE ANDRE: «Vi lagde et språk som gjorde det enklere å forstå datamaskinen. Verre er det egentlig ikke,» uttalte Kristen Nygaard til Dagbladet i 1999. Nygaard og Ole-Johan Dahl tok verden på senga med sine banebrytende ideer. (Foto: Rune Myhre/Dagbladet/Colourbox/Apollon) 

Glem ostehøvel, binders og sprayboks. For femti år siden utviklet to nordmenn noe som rager over det meste av norske oppfinnelser gjennom tidene.

Kristen Nygaard og Ole-Johan Dahl utviklet en helt ny måte å programmere datamaskiner på – såkalt objektorientert programmering.

– Objektorientering var den sentrale ideen i programmeringsspråket Simula, som ble til på Norsk Regnesentral i årene 1961 til 1967. Ideen inngår nå i nesten all programmering i verden, forteller Stein Krogdahl og Arne Maus på Institutt for informatikk.

PÅ FEIL SIDE AV ATLANTEREN: – Om Simula hadde kommet til USA allerede på begynnelsen av 1970-tallet, kunne utbredelsen blitt enorm, mener Arne Maus og Stein Krogdahl. I bakgrunnen: det svære Ole-Johan Dahls hus. (Foto: Trine Nickelsen)

I artikkelen «Et verdensspråk ble skapt i Oslo» beskriver vi samarbeidet mellom de to forskerne fra slutten av 1950-tallet og framover. Da vi slapp sist, var året 1967 og Nygaard og Dahl hadde nettopp lansert verdens første objektorienterte språk, Simula 67, senere bare kalt Simula. Hva skjedde så?

Apollon er tilbake i den største av alle universitetets bygninger, det imponerende Ole-Johan Dahls hus i Gaustadbekkdalen – vegg i vegg med Kristen Nygaards hus. I tårnet møter vi igjen informatikkprofessorene Krogdahl og Maus.

Forut for sin tid

Objektorientering var så nyskapende da det kom på slutten av 1960-tallet, forteller de to, at det skulle ta minst 15 år før det var allment akseptert hvor genial oppfinnelsen var.

Men selv om anerkjennelsen kom til slutt, fikk programmeringsspråket Simula aldri noen stor internasjonal utbredelse.

– Det var mange grunner til det, men kanskje aller viktigst: Det nye dataspråket var mange år forut for sin tid, mener Krogdahl og Maus.

Med selve ideene omkring objektorientert programmering gikk det derimot mye bedre. Disse har innkassert mange triumfer.

– I årene som har gått, er de banebrytende ideene blitt tatt inn som helt sentrale elementer i de mest brukte programmeringsspråkene i verden, sier Maus.

– Se her, ta en titt på denne topp hundre-lista over de til enhver tid mest brukte programmeringsspråkene i verden. Her ser vi at to av tre språk er i direkte tradisjon etter Simula – de er objektorienterte.

Ut i verden

Det skulle altså gå mange år før verden oppdaget og verdsatte Simula. Det var amerikanerne som sørget for det endelige gjennombruddet.

Alan Kay ved Xerox Parc i USA var først ute med å ta ideene videre. I 1980 lanserte han programmeringsspråket Smalltalk med de samme begrepene som Simula.

– Det var faktisk Kay som foreslo navnet objektorientert programmering – som siden er blitt stående som navn på den norske oppfinnelsen, forteller Maus.

Det var imidlertid et annet språk som virkelig skulle bringe Dahl og Nygaards ideer ut i verden.

– Da dansken Bjarne Stroustrup jobbet med diplomoppgaven sin ved Cambridge-universitetet i England, forelsket han seg hodestups i Simula. På begynnelsen av 1980-tallet dro han til Bell Labs i New Jersey, framholder Krogdahl.

Her ble han imidlertid pålagt å bruke programmeringsspråket C, som var blitt utviklet der ti år tidligere. Det ønsket ikke Stroustrup. Han ville fortsette å programmere med begrepene som Dahl og Nygaard hadde utviklet. Derfor lagde han like godt et programmeringsspråk med Simula som forbilde: Oppå C la han Simulas begreper og utviklet C with classes, senere omdøpt til C++.

– Det nye språket skulle for alvor popularisere objektorientering, ja nå eksploderte bruken, forteller Maus.

Et enda større gjennombrudd for objektorientert programmering skulle imidlertid komme et tiår senere, i 1995:

Java – verdens kanskje mest brukte programmeringsspråk i dag, er direkte basert på den norske oppfinnelsen og nesten helt lik Simula i sin grunnfilosofi.

Maus viser til at konkurransen mellom de ulike firmaene i USA var stor. Microsoft så at Java slo voldsomt an, og spurte om å få lage sin egen variant av språket. Da de fikk nei, lagde de isteden sitt eget språk, som langt på vei var en kopi, nemlig programmeringsspråket C#.

Javas pappa

– Det var en stor lettelse da Java kom, for C++ var noen fiklete greier. Da amerikaneren James Gosling designet Java fra grunnen av, kunne han gå tilbake til de rene begrepene fra Simula, påpeker Krogdahl.

En viktig ting med Simula, sier han, var at språket automatisk kunne rydde opp og frigi deler av lageret som ikke lenger var bruk. Dette bygde Gosling også inn i fundamentet til Java.

JAVA – verdens kanskje menst brukte programmeringsspråk, er direkte basert på den norske oppfinnelsen. James Gosling under 50-års jubileet for Simula og objektorientert programmering i september 2017. (Foto: Harald Brombach/Digi.no)
JAVA-PAPPA: James Gosling i Ole-Johan Dahls hus under 50-årsjubileet for Simula i september 2017. (Foto: Harald Brombach/Digi.no)

– Java gjorde det mulig å utvikle programmer som kan lastes ned fra internett og kjøres på en hvilken som helst maskin uansett operativsystem. I dag surfer flere hundre programmeringsspråk oppå Java-strukturen, fortsetter Maus.

– Java slo an i alle akademiske kretser. Mye var gratis. Fremdeles er det Java som brukes i undervisningen de fleste steder, legger Krogdahl til, selv om Microsofts C# nok er fullt på høyde teknisk. 

I september i fjor ble femtiårsjubileet for Simula og objektorientert programmering feiret med heldagsseminar i det svære Auditorium Simula i Ole-Johan Dahls hus. Blant de inviterte foredragsholderne var nettopp Javas far, legendariske James Gosling.

– Simula har vært så viktig for meg. Det tok meg to-tre millisekunder å si ja til invitasjonen, sa en smilende Gosling til en lydhør forsamling på Universitetet i Oslo.

James Gosling fortalte at han oppdaget Simula i 1974, som ung student på universitetet i Calgary, og la ikke skjul på hvor vanskelig han syntes det var å forstå språket i først omgang. Det brøt så radikalt med det han kunne fra før.

– Simula endret helt måten jeg tenkte programvare på. Jeg brukte Simula både til simuleringer og til mange andre ting. Etter hvert kom Smalltalk og C++, men de kunne ikke måle seg med Simula. Da jeg senere jobbet med å utvikle Java hos Sun Microsystems fra 1991, var Simula veldig til stede i bevisstheten min, fortalte Gosling.

Gikk hver sin vei

Men hva med Simulas fedre? Hva skjedde med dem etter 1967?

– Her er det ikke snakk om én historie, men to. Dahl og Nygaard kastet seg ganske raskt over hver sine nye arbeidsområder etter at de i fellesskap hadde utviklet Simula, forteller Krogdahl og Maus.

I 1968 ble Ole-Johan Dahl professor i det som skulle bli informatikkfaget på Universitetet i Oslo. I ti år var han eneste professor i faget. Fagområdet var nytt og svært omdiskutert til å begynne med. Mange var usikre på hvilken betydning datamaskiner ville komme til å få, og om – og i tilfelle hvordan, informatikk burde undervises på universitetet.

– Dahl la ned en formidabel innsats, ikke bare som forsker, men også som foreleser og utvikler av undervisningen i informatikk. For å lære bort programmering, viste Simula seg som et enormt bra språk. Dahl var dyktig og iherdig. Jeg var på hans første kurs. Strålende, minnes Maus.

Bruken av objektorientering og Simula i undervisningen på 1970-tallet er blitt et forbilde for grunnutdanningen i informatikk de fleste steder i verden.  

Et skikkelig fag

Krogdahl mener at Dahl nok var redd for at informatikk bare skulle bli et teknisk «gjøre-fag». Han ville få til et ordentlig fag med både teori og praksis. Særlig var Dahl opptatt av å kunne bevise at et program var fullstendig pålitelig.

Gjennom å resonnere etter matematiske prinsipper, mente han det var mulig å bevise at et program gjorde det det skulle – selv før programmene var blitt kjørt. Han ville kort sagt kunne avgjøre om et program var riktig eller ikke.

– Før han døde sa Ole-Johan Dahl: Jeg fikk ikke riktig til det der, forteller Krogdahl.

Men for små og kritiske deler av et program kunne slik matematisk bevisføring ha stor nytteverdi, for eksempel i sentral programvare i fly og biler.

Samfunnsengasjert

– Kollegaen, Kristen Nygaard, koblet fort datakunnskapene sine med et stort samfunnsengasjement, fortsetter Maus.

Nygaard skulle snart drive fram det som internasjonalt ble hetende den skandinaviske skolen i systemarbeid. Systemarbeid er en tverrfaglig disiplin innen informatikken. Ikke bare omfatter den de tekniske sidene ved programmering og systemutvikling, men også organisatoriske og menneskelige sider ved det å utvikle datasystemer. Han utviklet programmeringsspråket Beta, som bygde videre på Simula.

– Allerede i 1967 samarbeidet han med det mektige Jern- og metallarbeiderforbundet for å gi fagforeningslederne kontroll over datateknologien og inngå dataavtaler. Nygaard lagde også et språk han mente arbeiderne skulle bruke til å programmere selv, som han kalte Delta. Språket hadde mange interessante sider, men det slo ikke an.

Som professor i informatikk både ved universitetet i Århus og deretter i Oslo, fortsatte Nygaard arbeidet med forskning og undervisning i systemutvikling, og i sosiale virkninger av informasjonsteknologi. Fra 1980-årene ble han stadig mer internasjonalt engasjert: Han var gjesteprofessor ved Stanford-universitetet, gjesteforsker ved Xerox PARC og rådgiver for Apple Computer i California.

Mest kjent i Norge er nok Kristen Nygaard allikevel som leder av Nei til EU fram til folkeavstemningen i 1994 – en organisasjon som på det meste talte 145 000 medlemmer fordelt på 450 lokallag.

En gedigen tabbe

En gang tidlig på 1970-tallet kom amerikaneren Donald Knuth, en av verdens mest kjente informatikere, til Oslo for å besøke Ole-Johan Dahl. Krogdahl og Maus mener det som nå skjedde kunne fått avgjørende betydning for utbredelsen av Simula.

USA-besøk: Donald Knuth og Ole-Johan Dahl i 1970.
USA-BESØK: Donald Knuth og Ole-Johan Dahl i 1970. (Foto: cs-exhibitions.uni-klu.ac.at)

– Donald Knuth var en av få som skjønte hvor viktig oppfinnelsen var. Han ville ta Simula med seg til Stanford-universitetet og bruke det i undervisningen, forteller Krogdahl.

Dahl og Nygaard var begeistret. De forstod med én gang hvilken mulighet dette var. «Jeg la inn et godt ord for Knuth», forteller Kristen Nygaard til Apollon i 1999. Også andre universiteter ba om det samme.

– Men gleden skulle bli kortvarig. Norsk Regnesentral, som eide rettighetene, begikk en stor feil. De ville ha full pris for Simula. Stanford ville ikke betale, men argumenterte med at når Simula ble brukt i undervisningen, ville lisenser kunne selges overalt i USA, framholder Maus.

– Om Simula hadde kommet til USA allerede på begynnelsen av 1970-tallet, kunne utbredelsen blitt enorm, mener Krogdahl.  

Det at universitetene skulle betale større beløp for programvare, var nærmest ukjent den gangen.

– Norsk Regnesentral skjønte ikke det. De hadde et dårlig utgangspunkt – verken markedsføringsapparat eller erfaring. De forstod ikke PR-effekten av å dele ut gratis, påpeker Maus.

Han viser til at Microsoft gir bort Office til universiteter, slik at alle blir tilvent programmet. De forstod tidlig: Det du har brukt og lært i undervisningen, det vil du bruke siden.

«Jeg mente at programmet burde deles ut gratis til universiteter og andre vitenskapelige institusjoner, og at prisen til privatkunder burde kunne være mindre enn den halve av hva som ble krevet.» sa Kristen Nygaard i intervjuet med Apollon for snart 20 år siden.

På 1960- og 1970-tallet tok ingen patent på programvare eller begrepene i dem. I det hele tatt tok ingen patent på idéer. Forskningen bygget på fellesgodeprinsippet. Tanken var å utbre kunnskap som skaper nye idéer og produkter.

– Ja, tabbe var det, og tabbe ble det at de amerikanske universitetene ikke fikk ‘special price’, mener Maus.

– At Dahl og Nygaards ideer har ført til bedre dataprogrammer i hele verden, er helt klart. Når to av tre av de mest brukte språkene i verden i dag er objektorientert, kan vi bare tenke oss.

Før verden var moden

Karel Babcický jobbet som forsker på Norsk Regnesentral fra 1969 til 1982, og hadde mye med Simula å gjøre. Kanskje like viktig som selve oppfinnelsen, mener han, var det å få ideene spredt og allment kjent.

– I fortellinger om Simula er det fort gjort å glemme at oppdagelsen kunne ha gått i glemmeboka – til tross for den store innsatsen Ole-Johan Dahl og Kristen Nygaard gjorde. De to tok verden på senga med sine banebrytende ideer. Dahl og Nygaard begynte å jobbe med andre ting – allerede lenge før utrykket ‘objektorientering’ var uttalt for første gang. Da var det avgjørende at Simula-budskapet ble holdt i live og spredt inntil verden var moden for det, understreker han.

Vedlikeholdet og spredningen var det flere som stod for:

– Norsk Regnesentral, dataguruen Jacob Palme i det svenske forsvaret, Association of Simula Users og ikke minst Simula-entusiaster, hovedsakelig i Europa, gjorde jobben.

Karel Babcický mener at også geografien har spilt inn.

– Simula ble skapt på feil side av Atlanterhavet. Praktisk talt alle som har lyktes i denne bransjen, har måttet flytte virksomheten sin ut av Europa.

– Bjarne Stroustrup ville neppe ha oppnådd et slikt raskt gjennombrudd med C++ hvis han ikke hadde kommet seg til USA.

Av Trine Nickelsen
Publisert 28. mai 2018 12:29 - Sist endret 30. mai 2018 10:02
Legg til kommentar

Logg inn for å kommentere

Ikke UiO- eller Feide-bruker?
Opprett en WebID-bruker for å kommentere