Artikkel

Fra ingenting til overalt - en liten reise gjennom informatikkens historie

Fra ingenting til overalt - en liten reise gjennom informatikkens historie

(Dette innlegget er trykket i Det Norske Vitenskaps-Akademis  årbok for 2012 på sidene 207-215 og er basert på et foredrag med samme tittel gitt i Det Norske Vitenskaps-Akademi den 12. april 2012.)

Informatikkens historie er stor og omfattende, så for at dette ikke skal bli for langt vil jeg kun ta for meg noen høydepunkter. Valget av disse høydepunktene er nok til en viss grad også farget av min bakgrunn innen matematikk. Viktige stikkord i denne historiske reisen er representasjon av informasjon, algoritmer for å løse utvalgte (matematiske) problemstillinger, og til slutt informatikkens betydning for samfunnsutviklingen. Men før vi tar fatt på historien er det på sin plass å gi en kort beskrivelse av hva informatikk er.

Informatikk er læren om hvordan datasystemer konstrueres og brukes. Datasystemer  består av en eller flere datamaskiner (maskinvare), nettverk bestående av kommunikasjonslinjer mellom datamaskiner, programvare som utfører definerte (regne)oppgaver, forskjellige målesystemer (sensorer) som fanger data, innretninger som utfører oppgaver (aktuatorer), grensesnitt og/eller relasjonen til den eller de som bruker systemet, samt ulike former for medier der data kan oppbevares. Datasystemer formes i all hovedsak ved hjelp av programvareverktøy og data må representeres på en hensiktsmessig form. Alle datasystemer er digitale i den forstand at alle grunnleggende operasjoner i et datasystem er digitale og all informasjon representeres på digital form, dvs. i form av tall.  Begrepet datasystemer brukes gjerne synonymt med informasjonssystemer, og IKT brukes ofte synonymt med informatikk, men IKT assosieres vanligvis mer med systemer enn med selve faget. Også begreper som datateknikk og informasjonsteknologi (IT) brukes.

1. Tallene og skriftspråkene

I tallteorien er null overgangen mellom de positive og negative tallene. Enda viktigere er null i regning med tall (aritmetikk og algebra). Uten null vil regnereglene bli svært kompliserte. Prøv f.eks. å multiplisere to romertall! Oppdagelsen eller forståelsen av null var nøkkelen til vårt moderne tallsystem. Med våre ti fingre fikk vi ti-tallsystemet og når vi kom til ti fant man rett og slett ut at man kunne ha 1 tier og 0 enere, dvs. skrive tallet 10. Koden var løst og det viste seg raskt at systemet også var velegnet for regning (addisjon, subtraksjon, multiplikasjon, divisjon).  Hadde vi hatt 8 fingre hadde “10” vært 8, og i det innerste av en datamaskin er “10” lik 2.  Vårt tallsystem og oppdagelsen av tallet NULL skjedde i India ca. 400 år f.Kr, men kom først til Europa rundt år 1100. Hvor vakkert er det ikke når “ingenting” (null)  betyr så mye. All informasjon i datamaskin er i sin mest basale form representert gjennom to tall – “0” og “1”.

Et talespråk er et system vi bruker for å kommunisere. Et skriftspråk er et system av tegn med tilhørende regler vi bruker for å kommunisere. Skriftspråk er i konstant endring påvirket av talespråk og andre skriftspråk. I motsetning til et talespråk som utvikler seg blant mennesker er et skriftspråk å betrakte som en oppfinnelse. Det første kjente skriftspråket heter kileskrift og stammer fra Babylon omkring 3200 år f.Kr. Det norske alfabetet har 29 bokstaver og bygger på det latinske alfabet som ble etablert rundt 600 år f. Kr. Vi kommuniserer med datamaskinen gjennom vårt eget naturlige språk og vi forteller datamaskinen hva den skal gjøre gjennom forskjellige programmeringsspråk. Som de naturlige språkene, består programmeringsspråkene av tegn og regler. I informatikkens verden er språk viktig, både fordi vårt naturlige språk er med på å definere grensesnittet mot datasystemene,  og fordi alle systemer er utviklet ved hjelp av et eller flere programmeringsspråk.

2. Drømmen om en maskin som kunne regne

Abakus, eller kulerammen, ble utviklet og brukt i en rekke kulturer verden over. De eldste kulerammene stammer trolig fra Mesopotamia omlag 2500 år f.Kr. Kulerammen er et hjelpemiddel for å regne, og den er fortsatt i aktiv bruk i Japan og Kina. Datamaskinen er også et hjelpemiddel for å regne, men det er vel å strekke strikken litt lang å si at kulerammen er en reell forløper til datamaskinen.

Den første kjente regnemaskinen som kunne utføre alle de fire grunnleggende regneartene stammer fra Gottfried Wilhelm Leibniz (1646-1716). Før det hadde Leonardo da Vinci (1452-1519)  beskrevet en maskin som kunne addere, og Wilhelm Schickard(1592-1635) og Blaise Pascal (1623-1662) konstruert mekaniske innretninger som også kunne subtrahere. Leibniz, som gjerne omtales som det siste universalgeniet, drømte om et universelt språk (characteristica universalis) som kunne brukes til å representere og regne på all menneskelig kunnskap. Han drømte også om en kalkyle (calculus ratiocinator) for å regne på uttrykk i dette språket. Hans regnemaskin (stepped reckoner) var et forsøk på å realisere denne drømmen.  Alle disse mekaniske regnemaskinene fra 1600-tallet manglet imidlertid noe vesentlig som var nødvendig for at de kunne kalles reelle forløpere til datamaskinen, men på begynnelsen av 1800-tallet skjedde det noe.

3. Datamaskinens bestefar og verdens første programmerer

I 1820 tegnet den engelske matematikeren Charles Babbage (1791-1871) en regnemaskin som inneholdt mesteparten av de funksjonene vi har i en datamaskin i dag. Han var inspirert av utviklingen av Jacquards mekaniske vev fra 1700-tallet, som kunne kontrolleres med hullkort. Noen år senere presenterte Babbage maskinen han kalte differansemaskinen (The Difference Engine) for “The Royal Astronomical Society” i England. Maskinen skulle fremstille logaritmetabeller der logaritmeberegningen ble tilnærmet av polynomer og en numerisk metode (differansemetoden). Babbage fikk penger for å lage maskinen, men klarte ikke å konstruere den. Han klarte ikke å få de mekaniske delene til å fungere. Material- og produksjonsteknologien var ikke moden. Essensen i Babbage sin maskin var at denne maskinen trengte et minne, noe vi vet at alle datamaskiner trenger. Noen år senere (1842) presenterte han en enda mer avansert maskin (The Analytical Engine) som også kunne programmeres. Charles Babbage kalles gjerne for datamaskinens bestefar.

Augusta Ada King, Countess of Lovelace (1815-1852), i moderne tid kjent som Ada Lovelace, kalles gjerne den første programmerer. Hun var datter av det kjente poeten Lord Byron og møtte Charles Babbage i 1833. Helt frem til sin tidlige død i 1852, arbeidet hun med å utvikle algoritmer som kunne benyttes av den analytiske maskinen (The Analytical Engine) til Charles Babbage. I forbindelse med at hun oversatte Babbages arbeider til fransk, utarbeidet hun algoritmer for å beregne de såkalte Bernoulli-tallene, og det er for dette arbeidet hun i dag trekkes frem som verdens første programmerer. Programmeringsspråket Ada er oppkalt til ære for denne bemerkelsesverdige kvinnen, og i det nye informatikkbygget – Ole-Johan Dahls hus – på UiO har hun fått et eget rom oppkalt etter seg.

4. Fra folketelling til ”big business”

Hermann Hollerith (1860-1929) var en tysk-amerikansk statistiker som utviklet en tabulerende maskin basert på hullkort. Hollerith fant ut at tall kunne kodes ved å lage hull plassert i bestemte posisjoner (rader og kolonner) på et kort. Den tabulerende maskinen var konstruert slik at mekanikken kunne sortere kortene og telle antall kort med ulike kombinasjoner av hull. Som en del av systemet utviklet Hollerith  en mekanisme der han brukte en elektronisk forbindelse for å trigge en teller. Holleriths maskiner ble først brukt under folketellinger i USA. Mens den forrige folketellingen i USA (1880 folketellingen) tok 8 år ble den neste gjennomført på ett år (1890 folketellingen) ved hjelp av maskinene til Hollerith. Hermann Hollerith var grunnleggeren av firmaet Computing Tabulating Recording Corporation (CTR) som i 1911 ble fusjonert med tre andre selskaper. Dette fusjonerte selskapet fikk i 1924 navnet International Business Machines Corporation (IBM). Min historie om IBM slutter her, men den historien er både stor og omfattende.

5. Faget fødes og datamaskinen blir til

I 1936 publiserte Alan M. Turing (1912-1954) artikkelen “On Computable Numbers”. Dette er et av Turings mest berømte verk der han definerer grunnlaget for datavitenskapen og informatikkfaget. Han gir her en formell presisering av hva en algoritme er ved å definere en maskin (senere kalt Turingmaskin) og si at en algoritme er nøyaktig det denne kan gjøre. Han dannet her mye av grunnlaget for analysen av avgjørbarhet i matematisk logikk. Han klarte videre å si noe veldig presist om hvor grensen går for hva datamaskiner kan gjøre og for hva det fins algoritmer for. Turing hadde også andre viktige bidrag til informatikkens historie, bl.a. innen kodeteori og kunstig intelligens. Basert på sine vitenskapelige bidrag før og under andre verdenskrig betegnes ofte Alan M. Turing  som informatikkens far.

Matematikeren John von Neumann (1903-1957) regnes som en av historiens skarpeste hjerner og han hadde et stort antall bidrag innen en rekke fagområder. Von Neumann var trolig også den første som gav en vitenskapelig fundert beskrivelse av hvordan kjernen i en datamaskin måtte se ut. Von Neumanns arbeider var inspirert av Alan M. Turing og de som bygget ENIAC, se under. Konstruksjonen av kjernen i datamaskinene, helt frem til i dag, er basert på prinsipper utviklet av von Neumann.

Den tekniske utviklingen før og under andre verdenskrig var rask og omfattende og flere forskere verden over hadde tanker om hvordan de skulle bygge en elektronisk regnemaskin. Her strides man litt om hvem som var først ute, men jeg går for John Mauchy (1907-1980) og J. Presper Eckert (1919-1995) som i februar 1946 skrudde på strømmen på ENIAC (Electronic Numerical Integrator And Computer). Mauchly og Eckert var også sentrale i utviklingen av EDVAC, BINAC og UNIVAC 1, som var den første datamaskin i kommersielt salg i USA.

Norges første datamaskin sto ferdig i 1954. Den ble bygget av Thomas Hysing ved Sentralinstituttet for Industriell Forskning og fikk navnet NUSSE (Norsk Universell Siffermaskin Selvstyrt Elektronisk). NUSSE står i dag utstilt på Teknisk Museum i Oslo.

Fra den første spede begynnelse rett etter annen verdenskrig ble den elektroniske regnemaskinen gradvis utviklet til det vi i dag kaller en datamaskin. De elektroniske regnemaskinene var i starten store og prinsippet om 0-1 (strøm – ikke strøm) ble håndtert av radiorør. Etter hvert fant man ut at man kunne bruke transistorer og regnemaskinene ble mindre. Mot slutten av 1960 dukket opp en ny teknologi, mikroprosessoren, og den første kommersielle prosessoren, Intel4004, ble lansert i 1971. Deretter har det kun gått en vei og historien om mikroprosessoren kan best beskrives ved Moores lov som sier at regneenheten i en datamaskin skal doble sin ytelse hver 18. måned. Slik så det altså ut for Gordon Moore rundt 1970, og denne spådommen holder fortsatt. Bakgrunnen for Moores nokså friske spådom var at han så at transistorene kunne lages mindre og mindre og at vår evne til å lage disse mindre og mindre ville utvikle seg svært raskt (eksponensielt). I dag har de minste transistorene en størrelse på noen 10-talls nanometer. Det er ikke godt å si hvor dette vil ende, men det er absolutt en grense for hvor små disse komponentene kan bli!

6. Programmeringsspråket som endret verden

I en gjennomgang av informatikkens historie kommer vi ikke utenom Ole-Johan Dahl (1931-2002) og Kristen Nygaard(1926-2002). I 2001 fikk de Turing-prisen for oppfinnelsen og utviklingen av objekt-orientert programmering og programmeringsspråket Simula. Dette arbeidet ble utført på 1960-tallet og deres bidrag regnes i dag som et av de mest betydningsfulle bidrag i informatikkens historien.

En datamaskin utfører det vi ber den om å utføre – vi gir datamaskinen instruksjoner. Disse instruksjonene plasseres i all hovedsak i datamaskinen gjennom bruk av et programmeringsspråk. I datamaskinens barndom var disse språkene enkle og utviklet med henblikk på at datamaskinen var en regnemaskin.  Etter hvert innså forskere som Dahl og Nygaard at maskinen kunne brukes til mye mer. De trengte derfor et programmeringsspråk som var bedre egnet for de oppgaver som skulle løses, for eksempel det å utvikle et styringssystem i en kaffemaskin eller banktjenester over internett.  Det praktiske problemets kompleksitet måtte på en effektiv og velorganisert måte kunne modelleres og plasseres i en datamaskin. Nøkkelen var objekt-orientering – en teknikk (eller metode) som gjorde det betydelig enklere å beskrive oppgaven (for eksempel styringssystemet i kaffemaskinen) i en datamaskin. Objekt-orientering brakte viktige elementer fra menneskets logikk inn i programmeringen og er i dag like grunnleggende innen informatikken som regnearten multiplikasjon er i matematikken.

Objekt-orientering er den mest brukte teknikk for utvikling av programvare i dag og enhver utdanning i informatikk inneholder innføring i og bruk av objekt-orienterte teknikker. Arbeidet til Dahl og Nygaard har skapt verktøy og innsikt for systemutviklere over hele verden, og ikke minst gitt oss mulighetene til på en bedre måte å kunne utvikle gjenbrukbare, pålitelige og utvidbare IKT-produkter.

Dahl og Nygaard realiserte sine resultater gjennom utviklingen av det første objekt-orienterte programmeringsspråket som fikk navnet Simula (forkortelse for Simulation language). Pionerarbeidet omkring objekt-orientering og utviklingen av Simula ble utført ved Norsk regnesentral i perioden 1961-1967.  Simula la grunnlaget for utviklingen av senere språk som Smalltalk, C++, Eiffel, Beta og ikke minst Java som i dag er det sentrale språket i utviklingen av anvendelser for internett.

Som nevnt over ble Ole-Johan Dahl og Kristen Nygaard tildelt Turing-prisen for 2001. ACM (The Association for Computing Machinary), som deler ut prisen, skriver følgende i sin pressemelding av 4. februar 2002:

“The Association for Computing Machinery (ACM) has bestowed the 2001 A.M: Turing Award, considered the “Nobel Prize of Computing,” to Ole-Johan Dahl and Kristen Nygaard of Norway for their role in the invention of object-oriented programming, the most widely used programming paradigm currently in use.”

Prisen er oppkalt etter matematikeren og datamaskinpioneren Alan M. Turing. I tillegg til Turing-prisen fikk Dahl og Nygaard også den prestisjefylte von Neumann-medaljen i 2002 for oppfinnelsen av objekt-orientert programmering og utviklingen av Simula.

7. Internett

Fra varder og andre signalsystemer, via telegrafen, telefonen og andre kommunikasjonssystemer som radio og fjernsyn har vi fått Internett. Internett i den formen vi kjenner det i dag oppsto på slutten av 1960-tallet (ARPA-nett) og fant sin vei ut i verden på 1970-tallet. Internett kom til Norsar og Norge i 1973, og ble raskt tatt i bruk av universitetene. Det tok imidlertid nærmere 20 år før Internett tok verden med storm. Det skjedde i 1991 da Tom Berners Lee, som på den tiden arbeidet på CERN, bestemte seg for å lansere World Wide Web (WWW) for fri bruk, og med det skapte han et globalt informasjonsrom for deling av data og informasjon. Dette kunne jeg ha skrevet mye om, men må stoppe her for at denne historiefortellingen ikke skal bli for lang.

8.  De siste 50 årene

Historien om de siste 50 årene er så stor og omfattende at det kan skrives tusenvis av sider og denne delen av historien inneholder et hav av store og små oppfinnelser og fremskritt. Her skal jeg kun ta for meg ett perspektiv, nemlig datamaskinens (eller datasystemenes) økende betydning for samfunns-utviklingen. Jeg begynner rundt 1960.

For 50 år siden fantes det noen få datamaskiner og de var kun for spesielt interesserte, og de tjente kun forskningen gjennom at de ble brukt til beregninger som ikke kunne utføres med blyant og papir. Disse maskinene var få og store (fylte hele rom). I dag finnes milliarder av datamaskiner og brorparten av maskinene er bitte små. Fra 1960 og utover begynte datamaskinene å få stor betydning for kunnskapsutviklingen i samfunnet, herunder utvikling av vitenskapene. I dag er datasystemene helt avgjørende for vitenskapelig fremskritt innen svært mange fagfelt og stadig flere fagfelt er avhengig av datamaskinens kraft i arbeidet for å skape ny erkjennelse.

Økonomisk betydning; Selv om det var tilløp til kommersiell bruk av datamaskiner og at datamaskiner utførte noen viktige oppgaver i samfunnet også før 1970, var det først på 1970-tallet at datamaskiner fikk sitt økonomiske gjennombrudd. Datamaskiner ble masseprodusert og kjøpt for å utføre viktige oppgaver. Etter hvert kom PCene, Internett ble folkeliggjort gjennom WWW, telekommunikasjon og IKT smeltet sammen og vi er trådløst på nett med våre smarte terminaler. I dag er Internett, med alle sine applikasjoner, selve navet i den økonomiske utviklingen.

Politisk betydning; Det er vanskelig å tidfeste når politikerne i stort omfang oppdaget betydningen av datamaskiner/datasystemer. Av og til kan man lure på om politikerne fortsatt ikke har tatt inn over seg hva som har skjedd de siste 50 årene, men min vurdering er at noe fundamentalt skjedde på 1980-tallet. På den tiden dukket det opp flere tunge politiske dokumenter der man pekte på betydningen av IKT, og politiske beslutninger medførte kraftige økninger i bevilgningene til informasjonsteknologi over store deler av verden. Dette skjedde også i Norge, som f.eks. i 1985 valgte å bruke nærmere 100 millioner kroner til innkjøp av en superdatamaskin. Dette var mye penger i 1985. I dag er IKT og politikk knyttet til IKT-utviklingen en viktig del av det politiske landskap.

Kulturell og sosial betydning; De seneste tilskuddene i form av betydning for samfunnsutviklingen handler om at IKT også har fått stor betydning for kulturell og sosial utvikling. Mediene har for lengst flyttet fra papir til nett (selv om papiravisene fortsatt er med oss), møteplassene florerer i cyberspace (sosiale medier), brorparten av den informasjon vi trenger er et par tastetrykk unna uansett hvor vi er, osv. De seneste tall fra Statistisk sentralbyrå viser at 93% av alle norske husstander er koblet til Internett, og for befolkningen under 67 år er andelen hele 98%. Utfordringen har blitt de få som ikke er “på”.

Dette var en kort og litt upresis versjon av IKT-utviklingen de siste 50 årene. Et par personen som nok hadde fått plass i en litt lengre versjon er Bill Gates og Steve Jobs, men det finnes også andre betydningsfulle bidragsytere de siste 50 årene som også må være med for å gi et mer fullstendig bilde av informatikkens historie.

9. Den digitale revolusjon

Et verdensomspennende Internett gir oss informasjon på sekundet, mennesker og ting kobles sammen i et omfang vi aldri før har sett, og nye og bedre datasystemer lanseres hver eneste dag. Hundrevis av datamaskiner med tilhørende systemer hjelper oss i hverdagen – enten vi er hjemme, sitter i bilen, er på jobb eller gjør noe helt annet. Datasystemene er overalt, og vi er alltid på.  Den digitale revolusjon er gjennomført!

Ut av informatikken skapes hele tiden nye produkter, behov og markeder som ikke eksisterte tidligere og som svært ofte ikke var planlagt som et konkret utfall av teknologiutviklingen. Produksjon av varer og tjenester effektiviseres gjennom bruk av IKT-systemer. Omsetning og distribusjon av varer og tjenester skjer i større og større grad ved hjelp av digitale hjelpemidler. Velferdsstaten bygger sin virksomhet på datasystemer som utfører viktige oppgaver, og kommuniserer direkte med landets borgere. Den norske regjeringen lanserte i 2012 sin plan for fulldigitalisering av det offentlige Norge og offentlige etaters kommunikasjon med landets borgere. Det digitale økosystem er og vil være navet i samfunns- utviklingen. Vi er et nytt Norge – et digitalisert Norge!

Utviklingen fortsetter og endringen de neste 10 årene blir om mulig enda større enn endringene de siste 10 årene. Datamaskinene blir fortsatt raskere, mindre og billigere. De flinkere til å kommunisere og det blir stadig flere datamaskiner som bidrar i hverdagen. Denne situasjonen skaper mange nye muligheter, men den gir oss også noen viktige utfordringer. Vår innsats må handle om hva som skal til for å utnytte og gripe de nye mulighetene, og hvordan håndtere de viktigste industrielle og samfunnsmessige utfordringene som oppstår i en verden som er og vil være totalt avhengig av at IKT-systemer fungerer slik de skal.

Selv om vi vet mye om teknologiutviklingen er det vanskelig å spå hvordan den digitale hverdagen blir om 10 år, men en ting er sikkert; den blir ganske annerledes enn i dag.

Fakta til denne artikkelen er i all hovedsak hentet fra Wikipedia.

Skriv ny kommentar

Verifiser deg (din epost-adresse vil ikke bli vist offentlig)