Curiosando si impararivista di curiosità

Storie

Ada Lovelace e la Nota G del 1843: il primo programma per un computer che non esisteva ancora

Aveva 27 anni, era la figlia legittima e abbandonata di Lord Byron. Tra il 1842 e il 1843 tradusse dal francese un articolo di Menabrea sulla macchina di Babbage e ci aggiunse note tre volte più lunghe del testo. Una di quelle note descrive il primo algoritmo della storia.

di Andrea Bertolotti··4 min di lettura
Manoscritto antico aperto con testo storico, evoca i documenti scientifici ottocenteschi
Manoscritto antico aperto con testo storico, evoca i documenti scientifici ottocenteschi

Nel 1843, sulle pagine del periodico scientifico britannico Scientific Memoirs, comparve una traduzione dal francese all'inglese di un articolo dell'ingegnere italiano Luigi Federico Menabrea sulla "macchina analitica" di Charles Babbage. La traduttrice, indicata sommessamente con le sole iniziali A.A.L., firmò un testo che superava di tre volte la lunghezza dell'originale. Le aggiunte erano "note", numerate da A a G, e l'ultima — la Nota G — conteneva una tabella di righe e colonne che è oggi unanimemente considerata il primo programma per calcolatore della storia.

La traduttrice si chiamava Augusta Ada Byron, Contessa di Lovelace. Aveva 27 anni, era la figlia legittima del poeta Lord Byron — che l'aveva abbandonata a un mese di vita per non rivederla mai più — e di Anne Isabella Milbanke, matematica e amante della scienza che aveva voluto educare Ada esattamente al contrario del padre: ragione, geometria, algebra. "La matematica come antidoto alla follia poetica," scriveva la madre nelle lettere alle istitutrici.

Manoscritto ottocentesco con testo a inchiostro su carta ingiallita
Le 'Note' di Ada Lovelace furono pubblicate nel 1843 firmate solo con le iniziali A.A.L. Credit: Pexels.

L'incontro con Babbage

Ada incontrò Charles Babbage, matematico e ingegnere britannico, durante un party di Mary Somerville il 5 giugno 1833. Aveva 17 anni e Babbage 41. L'attrazione fu intellettuale e immediata: Babbage stava costruendo a Londra la Difference Engine, una grande calcolatrice meccanica capace di valutare funzioni polinomiali; ne mostrava i prototipi in salotti privati per scopi di marketing. Ada vide il piccolo modello in azione e ne fu folgorata. "Comprende la mia macchina più di chiunque altro," scriverà Babbage di lei anni dopo.

Negli anni Trenta Babbage progettò una seconda macchina, molto più ambiziosa: la Analytical Engine, un calcolatore meccanico universale a schede perforate ispirate al telaio Jacquard, capace in teoria di eseguire qualunque sequenza di operazioni aritmetiche. Non riuscì mai a costruirla per ragioni di costo e di disaccordi con il governo britannico, ma ne pubblicò le specifiche e le illustrò in lezioni a Parigi e Torino. È in occasione di una di queste lezioni a Torino nel 1840 che Luigi Federico Menabrea, allora giovane capitano del Genio sabaudo e futuro presidente del Consiglio del Regno d'Italia, scrisse un resoconto in francese pubblicato nel 1842 sulla Bibliothèque universelle de Genève.

Tradurre e ampliare

Charles Wheatstone, fisico inglese amico di Ada, le propose la traduzione. Babbage suggerì che la accompagnasse con commenti propri. Ada lavorò nove mesi, dal gennaio al luglio 1843, in stretto contatto epistolare con Babbage; le loro lettere — conservate alla British Library — sono uno dei più preziosi documenti della storia dell'informatica. Ada chiede chiarimenti, propone correzioni a errori di Babbage, e nella Nota G azzarda il calcolo di un'intera sequenza dei numeri di Bernoulli (B1, B3, B5... fino a B7), espressi tramite le formule ricorsive di Eulero.

Cos'è la Nota G

La Nota G è una tabella di 25 colonne e 25 righe che descrive passo per passo l'esecuzione delle operazioni che la Analytical Engine dovrebbe compiere per calcolare i numeri di Bernoulli. Ogni riga rappresenta un'operazione (somma, prodotto, divisione, spostamento di valore tra le "variabili"), e ogni colonna mostra come l'operazione modifica le memorie della macchina. È, di fatto, un diagramma di esecuzione: gli storici dell'informatica vi riconoscono i primi esempi di variabili, loop, indicizzazione, struttura di controllo.

Ada scrive che la sua tabella "presenta una vista completa e simultanea di tutti i cambiamenti successivi" della macchina durante il calcolo. Vi sono però un cycle inserito esplicitamente per le iterazioni richieste dalla ricorrenza dei numeri di Bernoulli, e una serie di accorgimenti per evitare divisioni inutili. Una piccola sbavatura — un segno meno mancante — è stata corretta nelle ristampe moderne (vedi l'analisi di Hammerman e Russell, 2023).

Vecchia macchina industriale fotografata in bianco e nero
La Analytical Engine di Babbage avrebbe utilizzato ingranaggi meccanici e schede perforate. Non fu mai completata. Credit: Pexels.

Una visione molto avanti sui tempi

Ada non si fermò all'algoritmo. La Nota A contiene una riflessione concettuale che la rende, ancora di più, una figura di cui parlare: "La macchina può fare solo ciò che noi sappiamo come ordinarle di fare. Può seguire un'analisi; ma non ha alcun potere di anticipare relazioni o verità analitiche." È la prima formulazione esplicita, a stampa, del fatto che un calcolatore esegue, non pensa. Quasi un secolo dopo, Alan Turing si confronterà direttamente con questa frase nel suo articolo del 1950 "Computing Machinery and Intelligence" (e la chiamerà Lady Lovelace's Objection).

Ada immaginò anche applicazioni che sembrano stranamente moderne. In una nota scrive che la macchina, se si potessero rappresentare numericamente le note musicali, "potrebbe comporre musica scientifica e complessa, di qualsiasi grado di lunghezza e complessità". Era il 1843, le radio non esistevano e Babbage stava ancora chiedendo soldi al governo per i bulloni.

Morte precoce e riscoperta

Ada morì di cancro all'utero il 27 novembre 1852, a 36 anni, esattamente all'età in cui era morto suo padre Lord Byron. Le sue lettere, le note matematiche e i taccuini furono conservati dal figlio. Per un secolo abbondante il suo nome rimase noto solo agli storici della matematica vittoriana. Negli anni Cinquanta il Dipartimento della Difesa americano battezzò un linguaggio di programmazione Ada in suo onore, e dagli anni Ottanta il Ada Lovelace Day (secondo martedì di ottobre) celebra le donne nella scienza e nella tecnologia. La Finding Ada Foundation ne organizza le edizioni internazionali.

Più di un'icona

La Nota G non è una curiosità storica: è il primo documento al mondo in cui un essere umano descrive con rigore l'esecuzione di un algoritmo da parte di un dispositivo automatico. Babbage costruì la calcolatrice (almeno nei piani). Ada inventò il programma. Per i 180 anni successivi, ogni linea di codice — Fortran, COBOL, Python, JavaScript — può rivendicare come antenata diretta quella tabella di 25 colonne pubblicata in un'oscura rivista scientifica del 1843, firmata con tre iniziali.

Una buona curiosità ogni mattina

Iscriviti gratuitamente: niente spam, solo articoli scelti.

Iscrivendoti accetti la privacy policy. Puoi disiscriverti in ogni momento.


Da scoprire

Continua a leggere

Altre storie che ti potrebbero piacere, scelte per te