Charles Babbage e il primo computer della storia

Escogita il primo computer meccanico. Progetta i suoi 25.000 componenti. Dedica tutta la vita alla realizzazione di questo calcolatore.

Oggi compie gli anni Charles Babbage: matematico, filosofo e scienziato proto-informatico, classe 1791.

Charles Babbage alla scrivania, particolare di una vignetta di The Babbage Issue, edita da Comics&Science, scritta da Alfredo Castelli e disegnata da Gabriele Peddes

«Non è conveniente che persone eccellenti perdano […] ore di lavoro per calcoli che potrebbero essere affidati a chiunque altro se si utilizzassero delle macchine»

A parlare sembrerebbe uno studente dello scientifico che ha appena preso 6- in matematica, ma la citazione è di Leibniz. L’anno era il 1671. E c’aveva ragione.

Se ci pensi l’umanità ha provato a liberarsi della tabellina del 7 e delle divisioni in colonna fin dall’alba dei tempi. E come darle torto? Prima sono arrivati gli abachi, poi i computer a eseguire calcoli e a diventare sempre più automatici. Ma è soltanto con il contributo di Charles Babbage e Ada Lovelace che si inizia a pensare a calcolatori programmabili, dove per “programma” si intende una sequenza automatizzata di istruzioni che possa prevedere salti e diramazioni senza intervento umano tra un’operazione e l’altra. In questo senso Babbage e Lovelace sono considerati gli inventori del primo computer della storia.

Tra l’altro, proprio a loro è dedicato The Babbage Issue: l’albo Comics&Science realizzato in collaborazione con il Museo degli Strumenti per il Calcolo di Pisa che include un fumetto scritto da Alfredo Castelli e disegnato da Gabriele Peddes.

La storia di Babbage, di Lovelace e dell’Analytical Engine è assurda. Ti dico solo che c’entrano telai francesi, re italiani e astronomi scoraggiati dagli errori di calcolo e tra poco provo a raccontartela.

La copertina di The Babbage Issue disegnata da Gabriele Peddes

Il primo progetto di Babbage: la macchina differenziale

Duecento anni fa succedeva quello che succede oggi quando provi a fare i calcoli a mente. L’unica cosa che davvero si moltiplica è la probabilità di fare errori. Ma prima del ventesimo secolo a prendersi granchi era pure gente che pubblicava studi di matematica e astronomia. Roba seria, insomma.

Charles Babbage prova di mettere una pezza a questo sfacelo. È il 1823 e si rende conto che matematici, astronomi, marinai e ingegneri utilizzano per lo più funzioni logaritmiche e trigonometriche, quindi studia un dispositivo che possa eseguire questi calcoli automaticamente. Descrive il progetto in Note on the application of machinery to the computation of astronomical and mathematical tables (“Nota sull’applicazione di dispositivi meccanici al calcolo di tavole astronomiche e matematiche”) e gli dà il nome di Difference Engine, ovvero macchina differenziale.

Il progetto dev’essere stato accolto con un sollievo generale perché il governo inglese sgancia subito 1.500 sterline per la realizzazione e la Royal Astronomical Society premia il filosofo-scienziato con una medaglia d’oro. Insomma, Babbage è l’eroe del momento.

Fast forward di 7 anni. È il 1830. La macchina differenziale non è ancora finita. Per problemi tecnici, si dice. Le sterline utilizzate sono ormai decuplicate e, non vedendo alcun risultato significativo, il governo inglese decide di sospendere i contributi. Babbage non la prende proprio benissimo a giudicare dal suo pamphlet Reflections on the Decline of Science in England, and some of its Causes (“Riflessioni sul declino della scienza in Inghilterra, e su alcune delle sue cause”).

Accetta il ruolo di professore di matematica a Cambridge ma si defila ben presto per dedicarsi completamente a un progetto ancora più ambizioso del primo: la macchina analitica.

Take 2. Programmabilità e memoria: la macchina analitica

«La macchina analitica tesse modelli algebrici, come il telaio Jacquard tesse fiori e foglie» (Ada Lovelace)

 Tra il 1833 e il 1843 Charles Babbage progetta l’Analytical Engine, la macchina analitica. Rispetto alla precedente macchina differenziale, questa è programmabile, esegue ogni tipo di calcolo e ha una memoria interna. Insomma: è un computer ante litteram.

Ma come si crea un programma senza elettronica? 

Babbage prende ispirazione dalle schede perforate dei telai francesi Jacquard, in cui è memorizzata la trama da riprodurre sul tessuto. La disposizione dei fori sui cartoncini funziona come una sorta di linguaggio binario automatizzando parzialmente il processo di tessitura. Per l’Analytical Engine, il suo inventore prevede due tipi di schede perforate: le operation card, che determinano le operazioni da eseguire, e le variable card, che individuano le variabili delle operazioni e cioè scelgono tra due successive diverse sequenze di istruzioni.

Telaio Jacquard, credits: Wikipedia
Babbage indaffarato nella progettazione dell'Analytical Engine. Vignetta tratta dal fumetto Il segreto di Babbage: scritto da Alfredo Castelli e disegnato da Gabriele Peddes

Completano il design della macchina: un campanello per annunciare la fine delle operazioni, un plotter per la visualizzazione dei grafici e una stampante.

Numero delle componenti: 25.000 circa.

Grandezza: quasi come una locomotiva.

Energia utilizzata: vapore.

Come puoi immaginare, la realizzazione della macchina analitica incappa in diverse difficoltà: i meccanismi sono complicati e i costi ancora una volta esorbitanti. Il progetto non viene completato, ma rappresenta a tutti gli effetti il primo computer programmabile automatico della storia. (Basti pensare che la scheda perforata come tecnologia verrà usata per altri due secoli: fino all’avvento dei mitici floppy disk nel 1975.)

Fine del primo atto. Cambio di scena.

Atto secondo: Torino, annus domini 1840

Giovanni Plana è astronomo del re d’Italia e c’ha un grosso problema. Come tutti i suoi colleghi vorrebbe calcolare le orbite dei corpi celesti ma la mole di calcoli necessari e la possibilità di sbagliarli farebbe desistere anche i più volenterosi. Fortuna vuole che un matematico oltremanica stia progettando una macchina per automatizzare ‘sta pletora di operazioni. E ti pare che Plana si faccia sfuggire quest’opportunità? No, e infatti invita l’inglese dal nome curioso di Charles Babbage a Torino.

Qui, nel settembre del 1840, si svolge il secondo Congresso dei filosofi italiani organizzato dall’Accademia delle Science e dall’Università di Torino. Charles Babbage presenta la macchina analitica. C’è entusiasmo. Plana già si prefigura un futuro senza foglietti zeppi di polinomi e moltiplicazioni così delega al collaboratore Luigi Federico Menabrea la scrittura di un articolo che descriva la macchina di Babbage. 

Ada Lovelace, la programmatrice «incantatrice di numeri»

Nel 1842 l’articolo di Menabrea desta l’attenzione della comunità scientifica. Viene presentato alla Biblioteca Universale di Ginevra e letto dalla matematica Ada Lovelace che decide di tradurlo e, soprattutto, di commentarlo in inglese.

Dico “soprattutto” perché se il testo originale era di 20 pagine, la versione commentata da Lovelace arriva a 50. 

Ada Lovelace e il suo contributo all'Analytical Engine. Vignetta tratta dal fumetto Il segreto di Babbage: scritto da Alfredo Castelli e disegnato da Gabriele Peddes

E ogni commento è illuminante. Approfondisce la similitudine tra il telaio Jacquard e l’Analytical Engine; arriva a sviluppare un algoritmo che possa calcolare i numeri di Bernoulli utilizzando il linguaggio Assembly; riconosce il potenziale di calcolo oltre ai numeri sostenendo che la macchina potrà elaborare anche simboli e concetti astratti. In un’altra nota, poi, definisce il ruolo della macchina matematica:

«La macchina matematica non ha la pretesa di creare nulla. Può analizzare, ma non ha le capacità di anticipare le connessioni o le verità analitiche.»

La macchina quindi ha un limite, che è il limite umano, appunto perché tutte le istruzioni sono fornite da una persona. Cent’anni dopo Alan Turing concorderà con questa visione definendola obiezione di Lady Lovelace. Insomma: Ada Lovelace è a tutti gli effetti la prima programmatrice della storia.

La retrospettiva

È il 1864 e Charles Babbage sta ancora perfezionando il progetto della macchina aiutato dalle suggestioni di Lovelace, nel frattempo scrive un’autobiografia intitolata Passages from the life of a philosopher (“Passaggi della vita di un filosofo”). E fin qui tutto regolare. Ma la dedica in esergo è rivolta a Vittorio Emanuele II, re del Bel Paese di Archimede e Galileo. Curioso, no? Ecco qui il perché:

«Sire, nel dedicare questo volume a Sua Maestà, io compio un atto di giustizia nei confronti della memoria del Vostro illustre Padre. Nel 1840 il Re Carlo Alberto invitò i saggi d’Italia a riunirsi nella sua capitale. Su invito del suo più grande matematico, io portai con me i disegni e le spiegazioni dell’Analythical Engine. Essi furono ampiamente discussi e la loro validità fu riconosciuta dai più eletti figli d’Italia. Al Re, Vostro Padre, io devo il primo riconoscimento pubblico ed ufficiale di questa invenzione. Sono lieto di esprimere la mia riconoscenza a Suo Figlio, il Sovrano dell’Italia unita, il paese di Archimede e Galileo.»

Ecco. Ora se vuoi saperne di più, ti consiglio di dare una letta a The Babbage Issue.