cat ada-lovelace-nota-g.md
N°020Le originiPseudocodice
Note G
Ada Lovelace e il primo algoritmo della storia
Nel 1843 Ada Lovelace, traducendo un articolo sulla macchina analitica di Charles Babbage, vi aggiunse note proprie più lunghe del testo originale. In una di esse, la Nota G, descrisse il primo algoritmo pensato per essere eseguito da una macchina. Questo pezzo racconta come, prima ancora che il computer esistesse, qualcuno ne avesse già intuito l'anima.
- Anno
- 1843
- Era
- 1840-1849
- Linguaggio
- Pseudocodice
- Reperto
- 1 algoritmo
Una macchina che non esisteva
Per cogliere la portata di questo reperto bisogna fare un salto indietro vertiginoso, in piena epoca vittoriana, a un secolo prima dei computer elettronici. Negli anni Trenta e Quaranta dell'Ottocento, il matematico e inventore inglese Charles Babbage aveva progettato una macchina straordinaria che chiamò macchina analitica. Era un calcolatore meccanico, fatto di ingranaggi, ruote dentate e leve, da azionare a vapore. Sulla carta possedeva caratteristiche che riconosceremmo oggi: una memoria per conservare i numeri, un'unità di calcolo per elaborarli, e la capacità di essere istruita tramite schede perforate, come quelle dei telai per tessere.
Era, in tutto e per tutto, il progetto di un computer programmabile concepito in un'epoca di carrozze a cavalli. C'era però un dettaglio cruciale: la macchina analitica non fu mai costruita. Troppo complessa, troppo costosa, troppo in anticipo sui tempi, rimase un sogno su migliaia di pagine di disegni tecnici. Babbage la portò avanti per anni senza vederla funzionare. Eppure quel sogno, anche solo come progetto, fu sufficiente perché un'altra mente vi cogliesse qualcosa che Babbage stesso non aveva pienamente afferrato.
Quella mente era Ada Lovelace, figlia del poeta Lord Byron, educata alla matematica dalla madre in parte proprio per allontanarla dall'immaginazione che si temeva avesse ereditato dal padre. In Ada, invece, rigore matematico e immaginazione poetica si fusero in un modo rarissimo, e fu esattamente questa combinazione a permetterle di vedere lontano.
Le note più lunghe del testo
L'occasione fu apparentemente modesta. Un ingegnere italiano, Luigi Federico Menabrea, aveva scritto in francese un articolo che descriveva la macchina analitica di Babbage. Ad Ada Lovelace fu chiesto di tradurlo in inglese. Lei accettò, ma fece molto di più: alla traduzione aggiunse una serie di note proprie, contrassegnate da lettere, che insieme risultarono più del doppio dell'articolo originale. Quelle note, e non la traduzione, sono il vero capolavoro.
Nelle sue annotazioni Ada non si limitò a spiegare come funzionasse la macchina. Si spinse a esplorare cosa avrebbe potuto fare, con una lucidità che ancora oggi sorprende. E nell'ultima e più celebre, la Nota G, fece la cosa che la consegna alla storia: descrisse, passo dopo passo, una sequenza dettagliata di operazioni con cui la macchina analitica avrebbe potuto calcolare una particolare serie di numeri, i numeri di Bernoulli. Era una procedura completa, pensata per essere eseguita da una macchina: ciò che oggi chiamiamo, senza esitazione, un algoritmo. Per questo Ada Lovelace è ricordata come la prima programmatrice della storia, autrice del primo programma scritto per una macchina, quasi un secolo prima che quella macchina potesse esistere.
L'intuizione che andò oltre i numeri
Se Ada si fosse fermata all'algoritmo per i numeri di Bernoulli, sarebbe già una figura fondamentale. Ma le sue note contengono un'intuizione ancora più profonda, quasi profetica, che la eleva da abile matematica a vera visionaria. Babbage e i suoi contemporanei vedevano la macchina analitica essenzialmente come un calcolatore potentissimo, uno strumento per macinare numeri. Ada vide oltre.
Comprese che la macchina, manipolando simboli secondo regole, non era affatto limitata ai numeri. Se altre cose del mondo — le note musicali, le lettere, le relazioni tra concetti — potevano essere rappresentate da simboli e governate da regole, allora la macchina avrebbe potuto manipolare anche quelle. Scrisse, con un'immagine bellissima, che la macchina avrebbe potuto comporre musica elaborata e di qualsiasi complessità. Aveva intuito, sola e in anticipo di un secolo, la differenza tra una calcolatrice e un computer: l'idea che una macchina simbolica universale potesse trattare qualsiasi cosa esprimibile in simboli, non solo le quantità. È la base concettuale di tutto ciò che un computer fa oggi, dalla musica alle immagini al testo.
Perché custodirla
Nelle stesse note Ada aggiunse anche una riflessione di sorprendente equilibrio, spesso citata nei dibattiti sull'intelligenza artificiale. Osservò che la macchina analitica non aveva alcuna pretesa di originare alcunché: poteva fare solo ciò che le si sapeva ordinare di fare. Non avrebbe pensato, non avrebbe creato dal nulla, non avrebbe avuto idee proprie. È una posizione che, quasi un secolo dopo, Alan Turing avrebbe discusso esplicitamente, chiamandola l'obiezione di Lady Lovelace. Ada, oltre a immaginare la potenza del calcolo, ne aveva già intravisto con freddezza anche i limiti.
Custodire la Nota G significa riconoscere che le idee fondamentali dell'informatica precedono di molto la sua tecnologia. Prima dei transistor, prima delle valvole, prima dell'elettricità applicata al calcolo, c'era già qualcuno che aveva capito cosa significasse istruire una macchina con una procedura, e che aveva intravisto che quelle macchine avrebbero potuto fare ben più che contare. Il software, in un certo senso, esisteva come pensiero prima che esistesse l'hardware per eseguirlo.
C'è infine un valore umano e storico in questo reperto. Che la prima programmatrice della storia sia stata una donna, in un'epoca che escludeva quasi del tutto le donne dalla scienza, è un fatto che illumina sotto una luce diversa la storia successiva dell'informatica. Il linguaggio di programmazione Ada porta il suo nome in suo onore. Custodire la Nota G significa onorare l'origine di tutto: il momento in cui l'immaginazione corse così avanti da descrivere l'anima di una macchina che il mondo non sarebbe stato in grado di costruire per altri cento anni.
Punti chiave
- Negli anni Quaranta dell'Ottocento Charles Babbage progettò la macchina analitica, un computer meccanico mai costruito.
- Ada Lovelace, traducendo un articolo di Menabrea nel 1843, vi aggiunse note più lunghe del testo originale.
- Nella Nota G descrisse un algoritmo per calcolare i numeri di Bernoulli: il primo programma per una macchina.
- Intuì che la macchina poteva manipolare non solo numeri ma qualsiasi simbolo, anche la musica: la differenza tra calcolatrice e computer.
- Osservò anche i limiti: la macchina «non ha pretese di originare alcunché», l'obiezione poi ripresa da Turing.
- È ricordata come la prima programmatrice della storia; il linguaggio Ada porta il suo nome.