Et objekt-orientert programmeringsspråk utviklet av Ole-Johan Dahl og Kristen Nygaard.
Hensikten var at det skulle gi færre feil og bedre planlegging, koding og vedlikehold av programvare ved at man direkte kunne modellere elementer i domenet.
Simula introduserte egenskaper som objekter, klasser, subklasser, arv, virtuelle metoder, korutiner og diskret hendelsessimulering.
Simula var en forgjenger for mer kjente språk som Smalltalk, C++ og Java.
– Ole-Johan Dahl var et geni, sier Olaf Owe – informatikkprofessor ved UiO og tidligere Dahls doktorgradsstudent og kollega.
– Kristen Nygaard var visjonær og hadde ideer som var langt forut for sin tid, sier Birger Møller-Pedersen, professor emeritus og tidligere kollega av Nygaard.
Duoens grensesprengende forskning og dynamikken dem imellom førte til norgeshistoriens største forskningsbragd på IT-feltet, nemlig Simula.
Det var et nybrottsarbeid innen programmeringsspråk, som det fortsatt er tydelige spor etter i dagens IT-utstyr – som smarttelefoner, nettbrett og pc-er, samt i dagens programmeringsspråk.
Møttes i Forsvaret
Få ante at noe stort var i emning da den unge Ole-Johan Dahl tidlig på 50-tallet avtjente verneplikten og ble plassert på det såkalte regnekontoret ved Forsvarets forskningsinstitutt (FFI).
Regnekontoret var underlagt FFIs avdeling for matematisk analyse og beregninger og var ledet av Jan Garwick - av mange kalt informatikkens far i Norge. Garwicks assistent Kristen Nygaard var sjef for regnekontoret. Så det var nettopp her Dahl og Nygaard samarbeidet første gang.
Frøet som skulle bli Simula, ble sådd allerede da. Og Nygaard hentet inn Dahl da han i 1962 ble forskningssjef ved Norsk Regnesentral. Sammen begynte de å jobbe med et programmeringsspråk for simuleringsoppgaver, som var velegnet til å beskrive store og komplekse systemer.
Resultatet ble Simula, et språk som introduserte begreper som objekter, klasser og arv. Det betyr at man deler et system i en mengde objekter, hver med gitte egenskaper og gitte måter å interagere med andre objekter på. Programmet definerer de mulige egenskapene til objektene ved hjelp av klasser, og man kan definere subklasser som arver egenskapene fra en gitt klasse.
– Det geniale med Simula er at man organiserer programmer på samme måte som mekanismene fungerer i det virkelige livet, sier Owe.
I for eksempel et reservasjonssystem vil det være reservasjoner, billetter, personer og så videre. Disse vil direkte være representert som objekter.
Klasser definerer egenskaper ved objekter, og gitt klassen av generelle reservasjoner kan man definere spesielle klasser av reservasjoner. For eksempel fly-reservasjoner og tog-reservasjoner, disse arver egenskapene til klassen av reservasjoner.
– Det er mange måter å angripe programvare på. Målet med objektorientering var at det skulle bli mindre feil og større sikkerhet og bedre robusthet – og samtidig enkelt å bruke og vedlikeholde.
Dette tankesettet viste seg å være nyttig ikke bare til simuleringer, men også i andre IT-systemer. Tjenester på Internett bygger i dag på prinsippet om at objekter «bor» på nettet og så kan brukes til å realisere tjenester til alt fra mobiltelefoner til supermaskiner.
Simula versjon 1.0 ble lansert på en konferanse på Lysebu i desember 1967. Det var lite ståhei rundt det.
– Få forsto hva dette var. De var minst 20 år forut for sin tid, påpeker Owe.
Men en av verdens aller ypperste IT-forskere skjønte det, nemlig Donald Knuth fra prestisjetunge Stanford University i Silicon Valley. Han jobbet selv med et simuleringsspråk, men la dette bort da han så Simula. Det var så mye bedre.
Sakte, men sikkert spredte Simula seg. Blant annet til forskningssenteret Xerox Parc, hvor det ble integrert med nye grafiske brukergrensesnitt og objektorienterte databaser. Og i neste runde over i Windows og det nettbaserte programmeringsspråket Java.
Java-oppfinner James Gosling møtte også opp på 50-årsjubileet, som ble markert på UiO 27. september.
Gosling har sagt at Simula totalt endret tankegangen hans rundt programvare. Han mener Simulas modeller for programvare var svært nytenkende og definitivt var i hodet hans da Java ble utviklet.
– Nygaard var et oppkomme av ideer
– Selv ikke i dag, 50 år etter, har noen kommet opp med en bedre måte å strukturere programvare og brukergrensesnitt på, sier Møller-Pedersen.
Dansken møtte Nygaard da han jobbet som gjesteprofessor ved Aarhus Universitet i 1975-1976. Møller-Pedersen var masterstudent og ble i 1977 med Nygaard tilbake til Norsk Regnesentral, hvor de jobbet sammen inntil Nygaard døde i 2002.
– Han var alltid et oppkomme av ideer, tanker som ingen andre tenkte den gang. Erfaringene fra bruken av Simula var at man fikk vel så mye ut av å lage programmene som å kjøre dem på datamaskiner, så Nygaard jobbet allerede i 1974 med et språk for modellering. Mange år senere ble dette en akseptert måte å gjøre tingene på, og mange modelleringsspråk så dagens lys.
Møller-Pedersen påpeker at Nygaard var en sosial person, og det å jobbe sammen med ham involverte gjerne hele familien til alle døgnets tider.
Annonse
– Han hadde en energi som ikke sto tilbake for oss yngre forskere.
Owe møtte Dahl i 1974 som masterstudent og jobbet med ham til Dahl gikk av i 2000. Owe beskriver Simula-oppfinneren som meget skarpsynt.
– Han kunne se konsekvenser av nye ideer til programmingsbegreper på en måte andre ikke maktet. Han kunne slå ned på uheldige konsekvenser. Det var mange ideer som ikke gikk gjennom nåløyet. Men han var også dyktig til å komme med alternative ideer og løsninger. Mange studenter var redde for hans ørneøyne og følte at han kunne se rett gjennom dem, forteller Owe – og sier at han som person var snill og tålmodig.
Han hadde et lidenskapelig forhold til musikk. Han var en dyktig pianist og vurderte å studere musikk. Men han ønsket heller å være en amatørmusiker enn profesjonell fordi det ga ham mer glede.
– Likevel klarte han å arrangere innkjøp av et piano til instituttet, ved å kalle det for «en analog tonegenerator».
«Det er to menn som slåss»
Dahl og Nygaard hadde med andre ord ulike personligheter, og Simula hadde neppe sett dagens lys uten dynamikken dem imellom.
Nygaard hadde høytflyvende ideer og visjoner, var kreativ og hadde evnen til å se ting i fugleperspektiv.
Annonse
Dahl var den virkelighetsnære forskeren som foredlet og videreutviklet Nygaards ideer slik at de fungerte i praksis – rett og slett tok ideene ned på jorda. Gjennom dette samspillet skapte de grensesprengende nyvinninger innen IT.
Felles hadde de lidenskapen for faget. De var ofte uenige, og noen ganger kunne det gå hett for seg. Det blir fortalt at en nyansatt på NR en gang kom forskrekket løpende ned til sentralborddamen:
«Hva skal vi gjøre? Det står to menn og slåss foran tavlen i andre etasje».
Men hun bare smilte og sa:
«Nei, det er ikke farlig. Det er bare Kristen og Ole-Johan som diskuterer Simula.»
Dynamikken minner om andre suksessrike IT-duoer, ikke minst Apple-gründerne – visjonære og karismatiske Steve Jobs og det teknologiske geniet Steve Wozniak.
Verdt å merke seg er at Apples vindusmenyer og appene på dagens dingser er basert på ideene fra Simula. Likevel ble Dahl/Nygaard aldri så rike og berømte som Apple-grunderne.
En av grunnene kan være at Norsk Regnesentral sa nei da Stanford University tilbød samarbeid, et tilbud Dahl og Nygaard kjempet for. Regnesentralen var en privat institusjon og avhengig av lisensinntekter, noe de ikke fikk.
– Med datidens øyne kan man forstå Norsk Regnesentral. Men sett i ettertid var det nok en gal beslutning. Norge kunne fått mye mer ut av Simula hvis det ble håndtert annerledes, mener Owe.
Nytt institutt, nytt språk og EU-kamp
Annonse
Tross uenighetene og ulikhetene i personlighet beholdt Dahl og Nygaard vennskapet og respekten for hverandre livet ut.
Likevel jobbet de ikke like tett sammen etter Simula-oppfinnelsen. De fikk begge annet å gjøre.
Dahl ble sentral i oppbyggingen av UiOs Institutt for informatikk, som ble født i 1977. Det handlet blant annet om å bygge opp programmeringsspråk som fag og en vitenskapelig akseptert disiplin, lage lærebøker med mer.
Sammen med to andre verdensstjerner i faget skrev han boken Structured Programming, en epokegjørende bok som endret fagfeltet da den kom ut i 1972.
Nygaard fortsatte med å arbeide med språk. Sammen med Møller-Pedersen og to andre dansker laget han i perioden 1977–1986 et nytt programmeringsspråk, Beta. Innovative mekanismer i dette språket inspirerer fremdeles folk som lager programmeringsspråk i dag, 30 år senere.
I tillegg til faget sitt engasjerte Nygaard seg også i en rekke andre saker, ikke minst var han i mange år kjent som «Nei ti -EU»-generalen.
Fikk informatikkens «Nobelpris»
Selv om verken Dahl eller Nygaard ble rike av forskerbragden, haglet det med heder og ære de siste årene de levde – da flere begynte å forstå hva de hadde gjort.
Noen av utmerkelsene:
1998: Rosing-prisen, hederspris (deles ut av Den Norske Dataforening)
2000: Kommandører av St. Olavs Orden
2001: Neumann-medaljen
2001: Turing-prisen
Ikke minst henger sistnevnte pris svært høyt. Turing-prisen regnes som informatikkens nobelpris. Intet mindre.
Seks statsråder var til stede da Simula Research Center ble åpnet i den gamle terminalbygningen på Fornebu i april 2002.
Dahl var alvorlig syk på det tidspunktet, mens det var meningen at Nygaard skulle bidra i oppbyggingen av senteret. Slik gikk det ikke, han døde brått kort tid etter Dahl – begge i 2002.
Siden har de fått hvert sitt hus på UiO oppkalt etter seg. Bygget som huser Institutt for informatikk heter Ole-Johan Dahls hus, mens bygget ved siden av, som huser Norsk Regnesentral og forskere fra UiO, heter Kristen Nygaards hus.
Så selv om begge oppfinnerne er døde og Simula ikke lenger er i bruk, lever ideene videre i dagens dataspråk og IT-verktøy og setter sitt preg på hverdagen til forskere, studenter og andre IT-brukere.