Denne tavlen og de som står foran den skulle bli sentral i en oppfinnelse som har lagt igjen store spor i verdens programmeringsspråk. Fra venstre: Bjørn Myhrhaug, Sigurd Kubosch, Kristen Nygaard og Ole-Johan Dahl. (Foto: Ukjent / Norsk Regnesentral)

Dagens programmerings-språk skylder mye til en 50 år gammel norsk oppfinnelse

FORSKEREN FORTELLER: Programmeringsspråket Simula er en robust norsk skapning.

Forskeren forteller

Denne spalten gir plass til forskere, fagfolk og studenter som med egne ord forteller om sin og andres forskning. Vil du skrive? Ta kontakt på epost@forskning.no

Alle som bruker ostehøvelen vet den er en norsk oppfinnelse. Folk bruker også binders, men det er en myte at det er en norsk oppfinnelse.

Mange hadde på et tidspunkt et anstrengt forhold til Java på grunn av problemer med nettbanken. De fleste vet til og med at datamaskiner må programmeres for å kunne tilby nettbank til folk, og at Java er et språk for å kunne programmere datamaskiner.

Det som mange imidlertid ikke vet, er at Java som et av de mest brukte programmeringsspråk på verdensbasis, er basert på en norsk oppfinnelse. I år runder denne oppfinnelsen 50 år. Ostehøvelen har ikke overraskende overlevd siden 1925, da egenskapene til brunost er de samme som den gang. Men det er mer bemerkelsesverdig at en oppfinnelse innen databehandling, hvor utviklingen ellers skjer veldig fort, fremdeles er brukbar 50 år etter.

Før fulgte vi datamaskinens premisser

I 1967 så verden for første gang en ny, revolusjonerende måte å programmere datamaskiner på. Inntil da foregikk programmering på datamaskinens premisser. All informasjon måtte representeres ved hjelp av simple ting som tekst og tall som datamaskiner var gode til å håndtere.  Programmene var tilsvarende detaljerte for å håndtere disse og det var lett å gjøre feil.

Med programmeringsspråket Simula, som av alle steder i verden så dagens lys i Norge, ble det i 1967 innført en helt ny måtte å programmere på.

Det fantes jo ikke nettbank i 1967, men faktisk er bankautomaten også 50 år i år. Hvis man i 1967 med Simula skulle ha laget en nettbank, da ville man direkte kunne representere ting som konti, bankkunder, transaksjoner og så videre som objekter inne i datamaskinen. Denne måten å programmere på ble derfor kjent som objekt-orientert programmering.

Når vi i dag bruker et reservasjonssystem for å bestille flyreiser, så vil det tilsvarende være objekter som representerer fly, sete, destinasjon og billetter. For første gang kunne de som programmerte datamaskiner få ting direkte representert i datamaskinen i stedet for å måtte forholde seg til ting som datamaskinen var god til.

Grunnmuren for mange av dagens språk

Denne måten å programmere datamaskiner på er så opplagt (når den først var oppfunnet) at flertallet av dagens programmeringsspråk er basert på den. Java var ikke det første, det kom først i 1995 i forbindelse med fremkomsten av internettet. Alan Kay ble inspirert av Simula til å lage Smalltalk, et språk som ble laget for å kunne lage det som vi i dag kjenner som nettbrett.

Dette var tidlig i 70-årene på Xerox PARC i USA. Nettbrett fikk de ikke laget, men grafiske brukergrensesnitt som vi kjenner dem i dag så dagens lys: manipulering av objekter på dataskjermen. En av de største brukere av Simula, Bjarne Stroustrup, så potensialet for vanlig industriell utvikling med denne type programmering. På 80-tallet laget han C++ som en utvidelse av et meget brukt språk, kjent som C. C# er Microsofts svar og minner på mange måter om Java.

Epokegjørende norsk oppfinnelse

Selv om det siden 1967 har blitt laget mange nye programmeringsspråk, så har det ikke blitt laget noe så epokegjørende som den norske oppfinnelsen Simula!

Hvem var det så som i 1967 var så fremsynte? Det var to norske forskere, Ole-Johan Dahl og Kristen Nygaard. Dahl var en av datidens fremste programmerer og Nygaard hadde sett behovet for og hadde visjonen om et språk for å kunne programmere store og komplekse systemer. De møttes på Forsvarets Forskningsinstitutt, Nygaard som sjef for Regnekontoret og Dahl som vernepliktig. Da Nygaard ble ansatt på Norsk Regnesentral ble Dahl med, og de startet da det som skulle føre frem til Simula i 1967.

Nå var det ikke slik at folk stod i kø og oppmuntret to av datidens beste forskere til å gjøre dette. Tvert imot fikk de klar beskjed om at det fantes programmeringsspråk nok og at Norge uansett ikke var stedet for å lage noe nytt.

Feirer 50 år for Simula

50 år for Simula og objekt-orientert programmering feires 27. september med et heldags seminar på Institutt for Informatikk, Universitetet i Oslo.

Blant de inviterte foredragsholdere er mannen bak Java, James Gosling, som kommer til å fortelle hvordan Simula inspirerte Java.

Som en del av feiringen avdukes også Norges første IEEE milepel-plakett for å markere at objekt-orientering ble oppfunnet her. En slik plakett markerer en «historisk frembringelse innenfor elektrisk og elektronisk ingeniørvitenskap». Det finnes ikke mange slike. I Danmark finnes det en (1902) og i Sverige wen (1954).  

Du kan lese mer om seminaret her.

To sterke personligheter sto bak

Vi som senere fikk anledning til å jobbe sammen med dem vet at dette ikke var nok til å stoppe dem. De var to sterke personligheter. De som opplevde selve utviklingen av Simula på nært hold kan også fortelle om to vidt forskjellige personligheter. Det at de lyktes tilskrives ofte dette. Nygaard var den visjonære og den som fikk det til organisatorisk og økonomisk, mens Dahl var den som fikk ideene realisert på datamaskinene.

Noen ganger kunne det gå hett for seg. En nyansatt på Norsk Regnesentral kom en gang forskrekket ned til sentralbordet. «Hva skal vi gjøre? Det står to menn og slåss foran tavlen i andre etasje». «Nei, det er ikke farlig. Det er bare Kristen og Ole-Johan som diskuterer Simula.»

Dahl ble senere Norges første professor i databehandling og bygget opp Institutt for Informatikk ved Universitetet i Oslo. Nygaard fortsatte på Norsk Regnesentral med å lage en ny type språk, som verden først mange år senere fant ut var en god ide. Nygaard ble også professor og var sentral i oppbygningen av den del av faget som hadde å gjøre med systemutvikling hvor berørte parter ble involvert helt fra starten. Dette regnes også som opplagt i dag.

Ble ingen økonomisk suksess

Dahl og Nygaard var alltid klar på at det hadde vært mange mennesker involvert i arbeidet med Simula og at det ikke hadde blitt noe av uten innsatsen til disse. Verdt å fremheve er Bjørn Myhrhaug. Han var både medforfatter av dokumentet som definerte programmeringsspråket og sentral i implementasjonen av språket.

Økonomisk ble denne norske oppfinnelse ikke noen suksess, men de ble hedret med en lang rekke priser for det arbeide de hadde gjort. I år 2000 ble de begge Kommandører av St Olavs Orden. I årene etter fikk de Turing Award og John von Neumann-medaljen for deres innsats for informatikkfeltet.

Blant disse henger nok Turing Award høyest - den regnes som databehandlingens Nobelpris.

Powered by Labrador CMS