2012-10-16

Ada Lovelace programmerar

Den analytiska maskinen kan inte skapa någonting. Den kan göra vad som helst som vi kan instruera den att göra. Den kan utföra en analys, men den kan inte förutse några slutsatser eller sanningar. Den kan hjälpa oss att göra tillgängligt vad vi redan känner till.

- Ada Lovelace (1842)

Charles Babbage förutsätter jag att ni känner till, han med den Analytiska Maskinen som inte blev mer än ritningar, några testkonstruktioner och en fascinerande idé. Ada Lovelace känner ni naturligtvis också till, hon som kallas världens första programmerare. Vad var det egentligen hon gjorde?

Babbage höll 1842 en föreläsning i Turin. En italienare (som längre fram skulle bli premiärminister minsann, visserligen i ett land som haft mer av den varan än de flesta jämförbara) skrev ner vad han hörde. Babbage bad Ada Augusta, grevinna (ungefär) av Lovelace (liksom gift baronessa) att översätta texten till engelska. Hon lade till utförliga noter för att förklara vissa detaljer. I en av dem, not G, beskriver hon hur man kan ställa in (den tänkta) maskinen för att beräkna en serie med så kallade Bernoullital.

Hur såg det då ut, det första programmet?

Med tanke på hur känt det är, så är det påfallande sällan man får se det. Vilket man förstår, när man väl ser det; det är inte precis något 10 PRINT "Hello, world". Läs själva:

Sketch of The Analytical Engine invented by Charles Babbage, by L. F. Menabrea, with notes upon the Memoir by the Translator Ada Augusta, countess of Lovelace - not G

Här är en förklarande tabell (klicka för förstoring):

Ännu mindre kända är de ifrågasättanden som gjorts av hennes insats. Jag har inte satt mig in i frågan, men tvivlar starkt på att Babbage skulle använt henne som någon sorts kuttersmycke. Han nämner i en senare kommentar att hon löst ett antal algebraiska problem, utom just det som gällde Bernoullitalen... Däremot rättade hon ett fel som Babbage gjort i beräkningen - det verkar nog så talande.

Om Ada åtminstone rättade världens första bugg, vilket bara det är vackert nog (och inte sällan svårare än "grovprogrammeringen"), så är det även ett sammanträffande att världens första actual bug upptäcktes av ett programmeringslag där Grace Hopper ingick. Hon skrev dessutom världens första kompilator.

Det finaste sammanträffandet tycker jag ändå är att Ada och hennes man baronen bodde på Ockham Park. Det är samma ort som han med rakkniven.

2 kommentarer:

Lena Synnerholm sa...

Kan man verkligen sägas ha programmerat en maskin, som konstruktören aldrig lyckats få att fungera?

Hexmaster sa...

Om maskinen är såpass väl beskriven att programmet skulle kunna köras på den färdiga maskinen, ja det tycker jag. Problemen Babbage hade var, om jag inte har fel, mekaniska och inte "logiska" eller så.