KOMMENTARER

Fra hullkort til programmering

For over hundre år siden la Ada Lovelace det teoretiske fundament for programmering og informasjonsteori.

Eirik Rossen
20. juni 2005 - 11:27

Denne kommentaren gir uttrykk for skribentens meninger.

(Administrerende direktør Arild Haraldsen i NorStella bidrar jevnlig med kommentarartikler i digi.no)

Det var en kvinne – Ada Lovelace – som skapte det teoretiske fundament for programmering og informasjonsteori for over 100 år siden.

Datamaskinen har mange røtter, mange opprinnelser. Men en av de viktigste er utvilsomt Jacquards automatiske vevstol fra begynnelsen av 1800-tallet. Maskinen var et vidunder i sin tid: Den kunne veve 25 ganger hurtigere enn noen tidligere vev.

Det var ingen liten industriell revolusjon i Frankrike i en tid hvor tekstilindustrien utgjorde en så stor del av landets økonomi. Jacquards vevstol ble derfor også holdt hemmelig overfor Frankrikes industrielle rival England.

Men det forhindret ikke at ryktene om dette maskinvidunderet vandret over kanalen. Charles Babbage var en av dem som fattet størst interesse for veven, ikke så mye på grunn av selve maskinen, men at den brukte hullkort som styringskort. Det var riktignok ikke Jacquard som oppfant hullkortene. Det var visstnok en annen franskmann. Men det var Jacquard som først brukte hullkortene i en praktisk sammenheng av noen betydning.

Charles Babbage er blitt kalt datamaskinens «bestefar». Kanskje noe ufortjent, for maskinene han forsøkte å bygge, enten ikke fungerte eller aldri ble bygget ferdig. Årsaken til det er enkel: Babbage befant seg på et teknologisk sidespor: Maskinene skulle bygges med finmekaniske elementer. Dette var naturlig ut fra den tids forutsetninger. Men det vi vet i dag er at en så komplisert maskin som datamaskinen bare kunne bygges når elektroniske komponenter ble tilgjengelig.

Babbage selv var kanskje sin tids fremste finmekaniker. Men det hjalp så lite når det ikke var etablert et massemarked for slike komponenter. Selv om maskinen kunne fungere (i vår tid er den faktisk bygget og testet, og den fungerte!), ville den bli uhorvelig dyr å produsere.

Men tilbake til hullkortene. Det som var fascinerende og betydningsfullt med hullkort var at maskinen kunne styre seg selv, og at den også var fleksibel – den kunne skifte til ulike mønstre. Det var dette ved vevstolen som interesserte Babbage.

Babbage beskrev sitt konsept for en datamaskin – Analytical Engine – til en italiensk matematiker som het Menabrea, som i sin tur skrev dette ned på fransk. I mellomtiden hadde Babbage skaffet seg en assistent Ada Lovelace, datter av den kjente poet Lord Byron. Ada Lovelaces betydning for datamaskinens videre utvikling har alltid vært gjenstand for strid. Hun var ung og uskolert, men med et betydelig matematisk talent. Hun tok på seg arbeidet med å oversette Menabreas beskrivelse av Babbages Analyical Engine. På den måten fikk verden vite hvordan Babbage hadde tenkt når det gjaldt denne maskinen.

Men Ada gjorde noe mer enn å oversette Menabreas beskrivelse. Hun skrev også noen tilføyelser, Notes som de ble kalt. Nå er det et faktum at disse tilføyelsene utgjør minst dobbelt så mange sider som Menabreas skrift, og det er disse tilføyelsene som er det virkelig verdifulle sett i et historisk perspektiv. Det var gjennom disse notatene de grunnleggende prinsipper for programmering ble lagt.

Striden har stått om Ada bare gjenga hva Babbage fortalte henne, eller om det var et selvstendig innspill. Det er hevet over tvil at hun må ha snakket med Babbage om dette, og Babbage lovpriser hennes innsats også i ettertid. Men det er like fullt klart at disse tilføyelsene er minst like mye et resultat av hennes egen tenkning, som Babbages innflytelse. Hun hadde et mer praktisk grep på tingene enn «bestefar» Babbage, men også en større evne til visjonær tenkning.

Hvorom all ting er: Det var i USA hullkortene fikk sin neste praktiske betydning etter Jacquards vevstol. Den tyskfødte Hermann Hollerith utviklet hullkortmaskinene til bruk for opptelling og statistisk bearbeiding av befolkningsøkningen i USA. Det må understrekes at Holleriths hullkortmaskiner som sådan hadde liten eller ingen relevans for utviklingen av datamaskinen. Det var hullkortene og bruken av dem som var viktig.

Selv om hullkortene var sentrale for Holleriths maskiner, ga Hollerith aldri Jacquard eller andre æren for å ha oppfunnet hullkortene. Det er derfor mange tror at hullkortene kom med Hollerith, eller at de ble oppfunnet av IBM. Men hullkortene hadde altså eksistert i nesten 200 år før Hollerith og senere IBM, begynte å bruke dem.

Holleriths hullkortmaskiner ble nesten utelukkende brukt til folkeopptelling. Det tok tre år, og så måtte en vente i sju år før neste folketelling. Og da måtte Hollerith slåss for å få kontrakten. Det var derfor ingen særlig god butikk. Ikke rart at Holleriths firma derfor ble solgt til et annet firma som også drev med mekaniske maskiner av ulik slag, som timeregisteringsur, mekanisk vekt, og så videre. Det firmaet het C-T-R, og ble senere – i 1924 – til IBM.

Det var Howard Aiken som fikk IBM interessert i å lage en datamaskin. Hans skrift «Proposed Automatic Calculating Machine» ble den første beskrivelsen av den moderne datamaskinens virkemåte fordi han forente Babbages mekaniske konsept, med Holleriths praktiske bruk av hullkort. Slik Babbage (eller egentlig Ada Lovelace) hadde beskrevet.

Aiken fikk med dette IBM interessert i å bygge en datamaskin som ble kalt Mark I.

Det viste seg at Mark I ikke ble en så avansert maskin som Babbage hadde forestilt seg. Årsaken er enkel: Aiken hadde ikke fått med seg at Ada Lovelace hadde lagt inn en forutsetning om såkalt «conditional branch», det vil si at beregningene endres som følge av de foregående beregninger.

Hullkortenes betydning så Aiken klart, selv om han bommet på hvem som hadde oppfunnet hullkortene:

«And then there came one of the fundamental inventions of all times in the art of computation, the use of punched cards for the storing of numbers and for the rapid distribution of those numbers into computers for carrying on numerical processes. It was this invention, developed by the International Business Machines Corporation, [min utheving] and all associated parts of mechanisms for speeding and using such cards, that has brought the possibilities of scientific calculating machinery again into a position where one could look at the situation with hope of success».

Her tok altså Aiken feil. Det var en ukjent franskmann som fant opp hullkortene; det var Jacquard og Hollerith som brukte hullkortene i en praktisk sammenheng, og det var Ada Lovelace og Charles Babbage som formulerte den konseptuelle betydning hullkortene ville ha for å programmere en maskin. Både informasjonsteori og programmering er bygget på de elementer som Ada Lovelaces Notes beskrev.

Hullkortene ble det viktigste media for å laste inn i maskinene data og programmer helt frem til midten av 1970-årene. Da ble de gradvis erstattet av magnetdisker og disketter. Og lakkmustesten for PC-er var om de kunne inneholde 80 kolonner med tekst.

Den siste hullkortmaskin for å punche hullkort til datamaskiner ble produsert av IBM i 1984.

(Litteratur: James Essinger: Jacquards Web. How a hand loom led to the birth of the information age, Oxford University Press, 2004; Dorothy Stein: Ada: A Life and Legacy, MIT Press, 1985; Tom Standage: The Victorian Internet, New York, 1998; William Aspray (red) Computing before Computers, Iowa State University Press, 1990; Martin Cambell-Kelly og Martin William Aspray: Computer: A History of the Information Machine, Harper Collins, 1986; Paul E. Caruzzi: A History of Modern Computing, MIT press, 1998).

    Les også:

Les mer om:
Del
Kommentarer:
Du kan kommentere under fullt navn eller med kallenavn. Bruk BankID for automatisk oppretting av brukerkonto.
Tekjobb
Se flere jobber
4 fordeler med å bruke Tekjobb til rekruttering
Les mer
4 fordeler med å bruke Tekjobb til rekruttering
Tekjobb
Få annonsen din her og nå frem til de beste kandidatene
Lag en bedriftsprofil
En tjeneste fra