Babbage, Lady Lovelace e il primo computer
Introduzione
Ada Augusta Byron (1815-1852), figlia del poeta Lord Byron e della matematica Annabella Milbanke, è un personaggio singolare. Prima di tutto, una donna del suo tempo. Moglie e madre secondo regole sociali che lasciavano poco spazio all’iniziativa personale. Ma anche, e soprattutto, una donna desiderosa di avere una professione e - come direbbe Virginia Woolf - una stanza tutta per sé.
Il suo contributo fondamentale è stato quello di aver compreso meglio di chiunque altro - meglio dello stesso ideatore, lo scienziato Charles Babbage (1791-1871) - la differenza tra la prima macchina da calcolo, la macchina alle differenze, e quella macchina analitica che oggi viene indicata come il primo antenato del moderno computer.
L’eredità di Ada consisteva in due punti di vista diametralmente opposti: quello di sua madre (l’archetipo della nuova era industriale, analitica e razionale) e quello di suo padre, il poeta romantico, che prendeva la vita come veniva e che morì combattendo per l’indipendenza e la liberazione di una nazione straniera. Per Ada, la scienza costituiva il terreno fertile in cui avere la possibilità di integrare le abilità analitiche con l’immaginazione e l’uso della metafora. In ciò, era figlia di suo padre come di sua madre. Così, mentre i poeti romantici - come Coleridge - discutevano sul ruolo dell’immaginazione nella creazione poetica, Ada rifletteva sulle connessioni della poesia con la scienza e il processo della scoperta scientifica. Questa capacità di sintesi speculativa aveva portato Ada a vedere nei progetti di Babbage - per la macchina alle differenze, prima, e per la macchina analitica poi - l’opportunità per “miracoli scientifici”. Mentre cercava il modello matematico più adatto a mostrare le potenzialità della Macchina Analitica, era riuscita a sviluppare una comprensione metafisica della macchina stessa, cioè a vedere non soltanto i dettagli tecnici ma anche l’intera immagine, il concetto di quello che la macchina analitica avrebbe potuto o non avrebbe potuto fare. Arrivando a prevedere, per esempio, che sarebbe stato possibile per la macchina “comporre elaborati pezzi musicali scientifici di ogni grado di complessità o durata”.
Il lavoro di Ada Byron è rimasto relativamente poco noto fino a pochi decenni fa. Perciò, le nostre attuali conoscenze sulla progettazione e la programmazione dei computer non si possono far risalire direttamente a Babbage e Ada ma, per molti di questi concetti, li si può considerare dei precursori.
Inseguendo un sogno
Il desiderio di Babbage di meccanizzare il calcolo derivava dalla sua esasperazione per l’imprecisione delle tavole numeriche pubblicate fino ad allora. Scienziati, contabili, impiegati, capitani di nave, ingegneri e molti altri si affidavano a queste tavole per eseguire calcoli che richiedessero una precisione migliore anche di poche cifre decimali. Ma la produzione di tavole era un compito tedioso e soggetto a errori in ogni fase della preparazione, dal calcolo alla trascrizione alla composizione a stampa. Babbage era un appassionato conoscitore di tavole e un pignolo “cacciatore” dei loro errori. Ne rintracciò, comuni in differenti edizioni delle tavole, e dedusse così in quali punti fossero stati scorrettamente rimpiazzati caratteri staccatisi dalle lastre.
Il suo contributo fondamentale è stato quello di aver compreso meglio di chiunque altro - meglio dello stesso ideatore, lo scienziato Charles Babbage (1791-1871) - la differenza tra la prima macchina da calcolo, la macchina alle differenze, e quella macchina analitica che oggi viene indicata come il primo antenato del moderno computer.
L’eredità di Ada consisteva in due punti di vista diametralmente opposti: quello di sua madre (l’archetipo della nuova era industriale, analitica e razionale) e quello di suo padre, il poeta romantico, che prendeva la vita come veniva e che morì combattendo per l’indipendenza e la liberazione di una nazione straniera. Per Ada, la scienza costituiva il terreno fertile in cui avere la possibilità di integrare le abilità analitiche con l’immaginazione e l’uso della metafora. In ciò, era figlia di suo padre come di sua madre. Così, mentre i poeti romantici - come Coleridge - discutevano sul ruolo dell’immaginazione nella creazione poetica, Ada rifletteva sulle connessioni della poesia con la scienza e il processo della scoperta scientifica. Questa capacità di sintesi speculativa aveva portato Ada a vedere nei progetti di Babbage - per la macchina alle differenze, prima, e per la macchina analitica poi - l’opportunità per “miracoli scientifici”. Mentre cercava il modello matematico più adatto a mostrare le potenzialità della Macchina Analitica, era riuscita a sviluppare una comprensione metafisica della macchina stessa, cioè a vedere non soltanto i dettagli tecnici ma anche l’intera immagine, il concetto di quello che la macchina analitica avrebbe potuto o non avrebbe potuto fare. Arrivando a prevedere, per esempio, che sarebbe stato possibile per la macchina “comporre elaborati pezzi musicali scientifici di ogni grado di complessità o durata”.
Il lavoro di Ada Byron è rimasto relativamente poco noto fino a pochi decenni fa. Perciò, le nostre attuali conoscenze sulla progettazione e la programmazione dei computer non si possono far risalire direttamente a Babbage e Ada ma, per molti di questi concetti, li si può considerare dei precursori.
Inseguendo un sogno
Il desiderio di Babbage di meccanizzare il calcolo derivava dalla sua esasperazione per l’imprecisione delle tavole numeriche pubblicate fino ad allora. Scienziati, contabili, impiegati, capitani di nave, ingegneri e molti altri si affidavano a queste tavole per eseguire calcoli che richiedessero una precisione migliore anche di poche cifre decimali. Ma la produzione di tavole era un compito tedioso e soggetto a errori in ogni fase della preparazione, dal calcolo alla trascrizione alla composizione a stampa. Babbage era un appassionato conoscitore di tavole e un pignolo “cacciatore” dei loro errori. Ne rintracciò, comuni in differenti edizioni delle tavole, e dedusse così in quali punti fossero stati scorrettamente rimpiazzati caratteri staccatisi dalle lastre.
La tradizione vuole che l’origine della passione di Babbage per la costruzione di una macchina da calcolo si possa far risalire ad un momento preciso. Pare che un giorno Babbage, controllando con l’astronomo Herschel i calcoli compiuti da alcuni impiegati dell’Astronomical Society, esasperato dalla quantità di errori che vi trovava, esclamasse: “come vorrei che questi calcoli fossero fatti a vapore!” (by steam: era quella l’unica macchina disponibile a quei tempi).
Charles Babbage
Sembra che per tutta risposta - non si sa se per tenere quieto l’irascibile amico o per vera convinzione - Herschel abbia detto : “è più che possibile!”, dando così il via alle sue ricerche.
Comunque sia, Babbage (guardando le tavole e ragionando sul modo in cui venivano calcolate) considerò che questa attività di calcolo, tanto meccanica e ripetitiva, potesse essere affidata a una macchina. Nel 1823 chiese ed ottenne l’appoggio finanziario della Royal Society per la realizzazione di un progetto di macchina costituita da 96 ruote e 24 assi. Inizia la storia dei moderni elaboratori elettronici.
Secondo Babbage, i calcolatori meccanici avrebbero dovuto fornire un mezzo per eliminare in un sol colpo tutte le fonti di errori presenti nelle tavole numeriche. Immaginava una macchina capace, non solo di eseguire calcoli con la massima esattezza, ma anche di evitare errori di trascrizione e di composizione imprimendo automaticamente i propri risultati su strisce di cartoncino o su lastrine di metallo tenero. Da queste si poteva poi ottenere direttamente una versione a stampa, eliminando così qualunque opportunità per la genesi di errori.
Nel 1822, Babbage costruì un modello sperimentale che avrebbe dovuto avvicinarlo al suo obiettivo. Lo chiamò macchina alle differenze perché si basava sul metodo alle differenze finite, una procedura matematica che consente di determinare valori successivi di funzioni polinomiali impiegando solo l’addizione: la moltiplicazione e la divisione (operazioni notevolmente più difficili da automatizzare) non sono necessarie. Dato che, a ogni fase, il valore della funzione è calcolato sul suo predecessore, un risultato finale corretto dà un elevato livello di confidenza anche sui precedenti valori.
Per economia di progetto, le macchine alle differenze di Babbage impiegano il sistema decimale anziché quello binario utilizzato nei calcolatori elettronici. Ogni cifra (di un numero a più cifre) è rappresentata da un ingranaggio su cui sono incisi i numeri del sistema decimale. Il valore della cifra è indicato dalla rotazione angolare dell’ingranaggio corrispondente. Il meccanismo di controllo della macchina garantisce che siano accettati solo valori interi, rappresentati da posizioni discrete degli ingranaggi delle cifre. Babbage si vantava che le sue macchine avrebbero potuto produrre il risultato esatto, o incepparsi, ma non avrebbero mai dato valori ingannevoli.
I più ambiziosi sforzi di Babbage per costruire un dispositivo da calcolo furono dedicati alla prima macchina alle differenze. Lo sfortunato progetto fu abbandonato nel 1833, dopo un decennio di ideazione, sviluppo e fabbricazione di componenti che aveva comportato spese considerevoli. Sembra che, a precipitare la decisione, sia stata un litigio fra Babbage e il suo capotecnico. Secondo i disegni,le dimensioni e la complessità del dispositivo risultavano monumentali: il progetto richiedeva circa 25.000 parti. La macchina montata avrebbe dovuto misurare circa due metri e mezzo di altezza, 2 di larghezza e 1 di profondità, per un peso di diverse tonnellate. Il progetto, finanziato dal Governo britannico, risultò anche estremamente dispendioso; con l’ultimo pagamento fatto nel 1834, il costo totale ammontò a 17.470 sterline. In confronto, la locomotiva a vapore John Bull, costruita nel 1831, era costata in tutto 784 sterline.
Il Governo si ritirò definitivamente dal progetto nel 1842, anche in seguito al consiglio di Gorge Bidell Airy, astronomo reale, che aveva definito “del tutto inutile” il dispositivo di Babbage. Il mancato completamento della macchina alle differenze fu il trauma più grave della carriera scientifica di Babbage che tornò a parlarne più volte nei suoi scritti, come se fosse incapace di accettare un esito così deludente.
Gli anni di lavoro dedicati alla prima macchina alle differenze produssero tuttavia un risultato valido e tangibile. Nel 1832, il capotecnico montò una piccola parte del dispositivo, consistente in circa 2000 componenti, a scopo dimostrativo. Questa sezione della macchina incompiuta è uno degli esempi più belli di meccanica di precisione dell’epoca e funziona tuttora in modo impeccabile. Costituisce la prima macchina da calcolo automatica che si conosca. Al contrario delle calcolatrici da tavolo dell’epoca, la macchina alle differenze - una volta avviata - non richiedeva l’intervento di un operatore competente e si potevano ottenere risultati precisi senza capirne i principi logici e meccanici. Babbage e i suoi contemporanei colsero immediatamente l’opportunità di speculare sull’intelligenza delle macchine, tanto che qualcuno commentò che la straordinaria materia e le fibre del cervello erano state sostituite da ottone e ferro: aveva insegnato agli ingranaggi a pensare!
Macchina alle differenze
Nonostante le sue strabilianti capacità, la macchina alle differenze poteva però eseguire un solo compito fisso. La reputazione di Babbage come pioniere del calcolo automatico si basa soprattutto su un altro sofisticato dispositivo: la macchina analitica, ideata verso il 1834. Stando ai disegni di Babbage, quest’ultima non avrebbe avuto le limitazioni della macchina alle differenze. Ideata per risolvere problemi generali di calcolo, la macchina analitica aveva un’architettura sorprendentemente simile a quella dei moderni calcolatori, con un magazzino (la memoria), un mulino (l’unità di elaborazione) e un lettore di schede perforate (dispositivo di input). I dati in ingresso, nell’intenzione di Babbage, dovevano essere programmati per mezzo di schede perforate (un’idea derivata dal telaio Jacquard che, usando schede di quel tipo, fabbricava automaticamente tessuti con disegni a più colori), mentre i risultati della macchina potevano essere raccolti su una pagina stampata oppure su altre schede perforate. La macchina analitica avrebbe eseguito addizioni, sottrazioni, moltiplicazioni e divisioni e sarebbe stata inoltre in grado di eseguire o ripetere un insieme di istruzioni basate su certe condizioni (se x, allora y): un concetto fondamentale della moderna informatica.
Sebbene gli storici siano soliti parlare della macchina analitica come di un oggetto esistente, in realtà è solo una serie di progetti mai realizzati che Babbage perfezionò via via dal 1834 fino alla sua morte, nel 1871. Demoralizzato dalla sorte della prima macchina alle differenze, non fece alcun serio tentativo di costruire una versione a grandezza naturale della macchina analitica. Una piccola parte sperimentale del meccanismo (ancora incompleta alla sua morte) e un altro frammento costruito poi dal figlio, Henry Prevost Babbage, sono i soli resti significativi del grande progetto.
Le macchine alle differenze di Babbage erano più grandi e più raffinate di quelle degli Scheutz. La ricostruzione della seconda macchina alle differenze, avvenuta nel 1991 ad opera di Doron D. Swade, ha dimostrato che l’insistenza di Babbage sulla precisione dei componenti era evidentemente basata su una valutazione tecnica ben fondata.
Il genio creativo di Babbage è sempre stato associato all’incompiutezza della sua opera. Orgoglioso e battagliero, divenne celebre per il vigore e il sarcasmo delle sue pubbliche accuse all’ambiente scientifico. Quando dovette abbandonare il progetto della macchina da calcolo, le sue celebri diatribe assunsero un tono di amarezza, recriminazione e addirittura disperazione. Al suo insuccesso contribuì dunque anche il suo carattere polemico, che finì per isolarlo dal mondo scientifico e universitario inglese.
La sua natura incontentabile lo portò ad una precisione estrema nel lavoro, a spingere ogni ricerca al massimo livello possibile, a ripensare continuamente i propri progetti. Quando si trattava delle sue macchine da calcolo, non c’era decisione altrui che gli andasse a genio. Per la costruzione delle macchine da calcolo, disponeva di uno dei migliori ingegneri di Londra (che allora era sede delle industrie più avanzate del mondo) e … riuscì a litigarci. Il governo finanziò fino a 17.000 sterline la sua ricerca ma Babbage, pur non avendo portato a compimento il progetto, si arrabbiò moltissimo quando il finanziamento fu sospeso. Eppure, sapeva che Georg Scheutz aveva costruito la sua macchina in un solo anno, con un prestito di sole 560 sterline per le quali aveva persino dovuto fornire garanzie al governo svedese. Per la sua invenzione, Babbage aveva ricevuto giovanissimo la prima medaglia d’oro dell’Astronomical Society e, benché non fossero mancati gli scettici e gli avversari, non fu tanto misconosciuto quanto vuol far credere nei suoi scritti.
I suoi scontri, poi, non si limitarono al mondo. Ebbe rapporti tesi con tutto il genere umano. Celebre è, per esempio, la battaglia giudiziaria di Babbage contro i suonatori ambulanti che infestavano Londra e turbavano le sue meditazioni.
Ada e la macchina analitica
Ada Augusta Byron nacque a Londra il 10 dicembre 1815 quando il matrimonio tra Annabella Milbanke e Byron era già in crisi. Le voci di una relazione tra Byron e la sorellastra fornirono ad Annabella il pretesto per la definitiva separazione.
Lady Byron decise, da quel momento, che Ada sarebbe stata una matematica e una scienziata, non un poeta come suo padre. La bambina ricette una educazione eccellente: in Matematica venne seguita da Mary Somerville - un’eminente scienziata nota soprattutto per aver tradotto i lavori di Laplace - e dal logico e matematico Augustus De Morgan. L’educazione matematica di Ada risultava inconsueta all’epoca, anche per un nobile. A differenza di quanto avveniva nell’Europa continentale, in Inghilterra, nella prima metà dell’Ottocento, la Matematica era in declino. l’istruzione matematica dei giovani - soprattutto delle ragazze - rimaneva molto modesta. Nondimeno, sotto la guida di De Morgan, Ada divenne esperta nei principi dell’Algebra, della Logica e del Calcolo.
Il 5 giugno 1833, all’età di 17 anni, la giovane incontrò a un ricevimento Charles Babbage, vedovo quarantaduenne, uno dei più famosi geni del XIX secolo, celebre per il suo attivismo politico e le sue idee oltranziste non meno che per i suoi lavori in Matematica ed Economia. La ragazza rimase subito affascinata dallo scienziato, dall’universalità delle sue idee, dalla sua prima macchina da calcolo, la macchina alle differenze e, in seguito, dalle speculazioni di Babbage su un’altra macchina - la macchina analitica - considerata ora l’antenata dell’odierno computer.
Nel 1840, Babbage presentò pubblicamente - per la prima e unica volta - la macchina analitica a un gruppo di matematici e ingegneri a Torino. Tra il pubblico, si trovava un giovane ingegnere, Luigi Federico Menabrea (che in seguito sarebbe diventato primo ministro) il quale prese minuziosi appunti e, con alcune note aggiuntive di Babbage, pubblicò in Francia un articolo intitolato Breve presentazione della macchina analitica (1842). Nel frattempo, nel 1835, Ada aveva sposato William, Lord King, diventando contessa di Lovelace (nel 1838). Al loro quarto anniversario Ada (a 24 anni) aveva già tre bambini: Byron, Isabella e Ralph. Non era certo una madre modello, insofferente com’era nei confronti dei doveri sociali richiesti ad una contessa. Quello che infatti Ada desiderava maggiormente era una “professione”, ma non sapeva decidersi se nel campo della Musica o della Matematica. Nel novembre 1839, avvicinò Babbage chiedendogli di aiutarla a trovare un’insegnante di Matematica e, dall’estate del 1840, dopo un’interruzione durata 4 anni, riprese questi studi, principalmente per corrispondenza.
Appena dopo la sua pubblicazione, Ada lesse l’articolo di Menabrea e lo tradusse in inglese, aggiungendovi delle considerazioni del tutto originali. Quando Babbage andò a farle visita all’inizio del 1843 e vide la traduzione che ne aveva fatto, rimase sbalordito. Ada aveva corredato l’articolo originale di sette Note (da A a G) che, insieme, davano un testo di lunghezza più che doppia rispetto all’articolo originale di Menabrea e in cui, per la prima volta, si trattava approfonditamente la programmazione di un computer (con una pubblicazione che, per un secolo, sarebbe rimasta l’unica del genere). Le Note di Ada sono notevoli perché dimostrano la sua comprensione concettuale della macchina analitica, quando pochi ne comprendevano il valore, e la sua abilità ad esprimere questa comprensione usando metafore ed esempi visivi. Nelle sue descrizioni, Ada sottolineava così con una bella metafora l’importanza della possibilità di programmare la macchina analitica con schede perforate: “possiamo effettivamente dire che la macchina analitica tesse disegni algebrici proprio come il telaio Jacquard tesse fiori e foglie”. Riuscì, inoltre, a selezionare un modello matematico perfetto per illuminare la differenza tra la prima macchina di calcolo, la macchina alle differenze, e la macchina analitica: i numeri di Bernoulli. Per calcolarli si devono fare molte operazioni, poi prendere i risultati di quelle operazioni e usarli in altre operazioni: fare addizioni, poi dividere, poi elevare a potenza e così via. Nessun semplice calcolatore o macchina calcolatrice, come la macchina alle differenze, avrebbe potuto raggiungere quest’impresa. Solo la macchina analitica sarebbe stata in grado di farlo grazie alle schede perforate che le avrebbero fornito i numeri, le operazioni e le variabili.
Ada ampliò le descrizioni di Menabrea ed esaminò dettagliatamente la programmazione della macchina analitica. Per esempio, sottolineò l’importanza (dal punto di vista del calcolo) della capacità della macchina di passare a istruzioni differenti in base a determinate condizioni e tracciò la distinzione tra ciò che era teoricamente possibile calcolare e ciò che era irrealizzabile nella pratica. Inoltre, spiegando che la macchina di Babbage non opera tanto sui numeri quanto su relazioni astratte tra elementi, accennava alla sua capacità di comporre musica: “supponendo, per esempio, che le relazioni fondamentali tra i suoni intonati della scienza dell’armonia e della composizione musicale si possano esprimere e adattare in questo modo, la macchina potrebbe comporre (…) brani musicali scientifici di qualsiasi complessità e durata.” Infine, partecipando a un dibattito in corso già allora, esprimeva il proprio scetticismo riguardo all’idea che la macchina potesse essere “pensante”: “la macchina analitica non ha alcuna pretesa di originare qualcosa – affermava - può fare qualsiasi cosa noi sappiamo come ordinarle di eseguire.” Un secolo dopo, durante una conferenza sull’intelligenza artificiale, Alan M. Turing rese famosa quell’affermazione definendola l’obiezione di Lady Lovelace.
Altre Note di Ada erano dedicate agli aspetti pratici della programmazione della macchina analitica, inclusa una descrizione del meccanismo delle schede perforate e della notazione adottata per la scrittura dei programmi. Allo stesso tempo, mentre cercava il modello matematico più adatto a mostrare le possibilità della macchina analitica, Ada cercò di approfondire la comprensione metafisica della macchina stessa. Iniziò a vedere non solo i dettagli tecnici, ma anche l’intera visione. Ebbe la capacità di porre la macchina analitica nel contesto appropriato, definendo i suoi limiti e il suo potenziale e riuscendo a prevedere le sue future applicazioni, annunciando chiaramente le infinite possibilità delle macchine meccaniche dotate di programma e memoria. Facendo continuamente domande e scegliendo le informazioni fornitele da Babbage, Ada fu in grado di guardare la macchina analitica nella corretta prospettiva arrivando a conclusioni e previsioni ben al di là delle idee che avevano mosso Babbage. Nelle lettere tra i due, Ada si raffigura come una fata: Babbage diventa il suo confidente, mentre lei diventa la sua interprete.
Purtroppo il desiderio di Ada di avere una professione fu ostacolato da una salute sempre precaria. Dopo aver scritto le Note, la sua condizione peggiorò. Si dedicò al gioco d’azzardo e usò diverse droghe per alleviare i dolori fisici. Nonostante questo, le descrizioni che ci ha lasciato della sua vita - nel periodo tra il 1843 fino alla sua tragica morte nel 1852, all’età di 36 anni, la stessa età in cui morì il padre - mostrano doti non comuni nello speculare su varie questioni, dal sistema nervoso alle banalità della vita quotidiana. Verso la fine, Ada utilizzò il proprio corpo come un “laboratorio molecolare” e lasciò a poco a poco la Matematica per un’altra pratica alla moda: il mesmerismo, tornando - senza saperlo - al tema che aveva appassionato il padre una trentina d’anni prima. Ada era una Byron, che ora sognava una “poesia matematica”. Morì di cancro il 27 novembre 1852. Su sua richiesta, venne sepolta accanto al padre.
È probabilmente la strana combinazione tra poesia e scienza che permise ad Ada non solo di comprendere il valore dei piani di Babbage, ma anche di prevedere accuratamente alcuni degli sviluppi possibili di quelle idee. Proprio come suo padre, Ada possedeva la capacità di usare l’immaginazione e la metafora per valutare un concetto o un’idea. Il suo interesse per la Matematica non si limitò alla pura soluzione di formule. Cercò un approccio visivo e tattile, traducendo i concetti in modelli di figure geometriche, per poterli visualizzare meglio. Ancora oggi, i modelli risultano dei mezzi efficaci per illustrare concetti matematici e scientifici. Basti pensare al modello della doppia elica di Watson e Crick (per spiegare la struttura delle molecole di DNA) o alle simulazioni al computer.
Ada era interessata al processo che porta ad una scoperta scientifica, così come lo era al risultato della scoperta.Se per molti scienza significava osservazione sperimentazione, per Ada significava molto di più: costituiva il terreno in cui riunire raziocinio e immaginazione. Se da una parte i poeti romantici discutevano il ruolo dell’immaginazione nella creazione della poesia, Ada rifletteva sui legami tra l’immaginazione, la scienza e il processo della scoperta scientifica.
Il contributo di Ada Byron alla nascita dell’antenato del moderno computer è rimasto sconosciuto per molto tempo. Come pure poco compresi furono i progetti di Babbage, forse troppo innovativi per quel periodo e sicuramente malamente proposti da parte del suo irrequieto e irascibile inventore. Ma, se allo scienziato va riconosciuta la paternità dell’idea della macchina analitica è ad Ada che va ascritto l’intuito della sua potenza. E’ a lei che si deve l’invenzione del suo linguaggio, contenuto nelle Note, quello che oggi chiamiamo programma. Insomma, per usare una metafora, il calcolatore ha trovato sua madre.