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

Kommentar fra Drude Berntsen, instituttleder på Norsk Regnesentral 1970-1989, og Knut Elgsaas, prosjektleder på Norsk Regnesentral 1970-1973:

SIMULA OG NORSK REGNESENTRAL

50-årsjubileet for Simula på Universitetet i Oslo 27. september 2017 ble en verdig markering av det første objektorienterte programmeringsspråket i verden, og en fin hyllest av dem som skapte Simula, Ole Johan Dahl og Kristen Nygaard.

Foredragene var interessante, morsomme og lærerike, spesielt for  de deltakere som ikke var godt orientert om hvordan de grunnleggende idéene i Simula hadde påvirket utviklingen av programmeringsspråk som Java.

I  mainummeret av Apollon følger redaktør Trine Nickelsen opp markeringen av 50-årsjubileet for Simula i en artikkel  med overskriften: "Simula: Verden var ikke moden for den norske oppfinnelsen."

Nickelsen stiller i innledningen et interessant spørsmål:

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.

Artikkelen er i hovedsak basert på intervjuer med Stein Krogdahl og Arne Maus, professorer ved Institutt for informatikk, UiO. Det gis en grei oversikt om Simulas bidrag til utviklingen av språk som C++ og Java.

Historien om Simula, bakgrunn, utvikling og utbredelse er for øvrig beskrevet i mange artikler. Norsk Regnesentral og ansatte ved NR som bidro i utviklingen av Simula er også blitt behørig omtalt bl.a. i artikkelen til Jan Rune Holmvik fra 1995 om "Historien om Simula".

Under avsnittet En gedigen tabbe forteller Krogdahl og Maus om konsekvensene av at Norsk Regnesentral ikke ville la professor Don Knuth  få en gratis Simulakompilator med seg til Stanford University da han var på studieopphold i Norge.

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

Grunnen til at Norsk Regnesentral ikke ville gi kompilatoren gratis, var i følge Maus:

"– 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."

Påstanden om at Norsk Regnesentral ikke forsto og derved begikk en tabbe da Knuth og Stanford ikke fikk en Simulakompilator gratis, har blitt fremsatt en rekke ganger tidligere. Grunnen  til at Knuth ikke fikk en gratis kompilator er nok ikke så enkel som Maus og flere andre vil ha det til.

Don Knuth oppholdt seg ved UIO høsten 1972 og våren 1973. Det er riktig at Regnesentralen fikk en muntlig forespørsel fra Ole Johan Dahl om å la Knuth få med seg en Simula-kompilator tilbake til Stanford, gratis. Det var også andre som ønsket å få en gratis kompilator. Regnesentralen hadde derfor i 1972 fastsatt priser og forutsetninger for salg av kompilatorer til universitet og til kommersielle virksomheter.

Regnesentralen kunne imidlertid gi en kompilator gratis til et universitet dersom det ble gitt motytelser. Det kunne være samarbeid, software eller tilbud om opphold ved universitetet for NR-ansatte. Regnesentralen mottok ikke noe tilbud om samarbeidsavtale eller gjenytelser fra Knuth eller fra Stanford for en gratis kompilator.

For øvrig ga Norsk Regnesentral  universiteter 40% rabatt mot at kompilatoren ikke ble benyttet kommersielt.

Vi finner det nødvendig å redegjøre nærmere for bakgrunnen for Regnesentralens standpunkt til prising av Simulakompilatorer.

Norsk Regnesentral anskaffet i 1963 Univac 1107, det nest største datamaskinanlegg  i Europa den gangen. Det ga grunnlaget for en sterk vekst i Regnesentralens virksomhet og muligheter for utvikling av bl.a. Simula 67. UIO, mange forskningsinstitusjoner og private bedrifter i inn- og utland var brukere av Univac 1107.

I slutten av 60-årene måtte Univac 1107 selges, og i den forbindelse ønsket Forskningsrådet å legge ned Norsk Regnesentral. Det ville bl.a. ha ført til en full stopp i utviklingen av Simula. Ved felles innsats fra ansatte og styret ble dette avverget..

Norsk Regnesentral  hadde i 1971 og 1972 en vanskelig økonomisk situasjon etter salget av Univac 1107 med lavere inntekter og høyere utgifter til datakraft. Høsten 1971 ble NR nødt til å si opp 8 ansatte da det ikke lenger var arbeidsoppgaver for dem. I årene 1971-73 gikk NR med underskudd. Samlede kostnader med debugging og installering av Univac- og IBM-kompilatorer i 1972 var 700.000 kroner. I tillegg kom markedsføringsutgifter på 100.000 kroner. Disse kostnadene ble budsjettert dekket ved 381.000 kroner fra interne midler og 400.000  kroner ved salg av kompilatorer. Det var forventet salg til bl.a. universiteter. Universitetet i Karlsruhe hadde betalt 84.000 kroner for en kompilator.

Når ledelsen i NR ikke ville gi bort en kompilator gratis til Knuth og Stanford, et av de rikeste universitet i verden, skyldtes det ganske enkelt at det da ville bli umulig å kreve betaling fra andre universitet. NR solgte faktisk kompilatorer til andre universitet etter 1972-73. Alt i alt solgte Regnesentralen bort imot 100 kompilatorer.

Uten å kunne budsjettere med inntekter fra salg av kompilatorer fra 1972 og fremover, ville ikke ledelsen i Norsk Regnesentral  ha fått styrets tilslutning til fortsatt arbeid med Univac- og IBM-kompilatorene. Universitetene ble ansett som en viktig kundegruppe.

Det er mulig som enkelte hevder i ettertid at en gratis kompilator til Knuth ville på sikt ha skapt et stort kundegrunnlag for Simula i USA. For ledelsen i NR var imidlertid inntekter i 1972-73 og 74 helt nødvendig for sikre Simula-aktiviteten på instituttet.

 

Norsk Regnesentral  hadde fra 1.1.1966 til. 30.11.1971 investert 2.9 mill. kroner i utviklingen av Simula 67, inkludert språkutvikling og utvikling av Simula kompilatorer for Univac og IBM. Det svarer i dagens kroneverdi til 21 mill. kroner. Inntektene var i samme tidsrom 549.000 kroner eller 4 mill. kroner i dagens kroneverdi. 

Det var antagelig ikke noe annet forskningsinstitutt med de rammebetingelser Norsk Regnesentral  hadde, som den gang foretok en slik satsing på språkutvikling og utvikling av tilhørende kompilatorer. Ledelsen i Forskningsrådet var sterkt kritisk til denne satsingen.

Vi finner det nødvendig å understreke at uten Norsk Regnesentrals støtte til utviklingen av Simula kompilatorer og støtte til utarbeidelsen av informasjons- og undervisningsmateriell i 60-og 70-årene, ville Simula 67 ikke ha blitt kjent ut over en liten krets.

 Det hadde vært hyggelig om Norsk Regnesentral i artikkelen i Apollon og i andre omtaler om Simula fra ansatte på Institutt for informatikk, hadde fått en viss anerkjennelse for sin  rolle i forbindelse med utviklingen av Simula 67.

Etter å ha hørt foredragsholderne på 50-årsjubileet, og etter å ha lest på nytt Holmviks artikkel og Babcickys og Pienes og Syrrists kapitler i boken Norsk Regnesentral 1952 - 2002, sitter vi igjen med et inntrykk av at Simula og de grunnleggende og nyskapende idéene som var grunnlaget for Simula, ble særdeles godt kjent og anerkjent innen informatikk eller computer science i Europa og USA.

Informatikkmiljøet i Norge kan med rette  være stolte over det bidrag som Norge ved Ole Johan Dahl og Kristen Nygaard  med sin forskningsinnsats og  Norsk Regnesentral  med sin massive støtte til Simula 67, Delta og Beta, ytet til utviklingen innen fagfeltet informatikk.

Trine Nickelsen - 16. juli 2018 13:39
Legg til kommentar

Logg inn for å kommentere

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