La gente ama le leggende, anche nel mondo dei computer. E Ada Lovelace è la persona perfetta per questa leggenda.
Augusta Ada (il nome della giovane Augusta fu cambiato in Ada per evitare l’associazione con la zia, da cui aveva preso il nome) Byron (nata il 10 dicembre 1815) era l’unica figlia legittima del poeta romantico inglese George Gordon, Lord Byron. Sua madre era Anne Isabella Milbanke, che portò la bambina a un mese di vita lontano dalla casa paterna. Ada Augusta Byron non vide mai più il padre, che morì quando lei aveva otto anni.
Ada ottenne un’istruzione piuttosto insolita per una donna di quei tempi, in quanto sua madre, che aveva studiato lei stessa matematica, decise che la figlia sarebbe stata risparmiata dalle eccentricità del padre studiando materie più logiche come la matematica e le scienze, piuttosto che la letteratura o la poesia. La giovane Ada Lovelace mostrò un genio per la matematica fin dalla tenera età. Tra i suoi tutor c’erano William Frend e Mary Somerville. Imparò anche musica, disegno e lingue, e divenne fluente in francese.
Nel 1835 Ada Byron sposò un certo William King. Nel 1838 suo marito divenne il primo conte di Lovelace, e Ada divenne contessa di Lovelace. Ebbero tre figli.
Ada Lovelace sviluppò inconsapevolmente una dipendenza da droghe prescritte, tra cui laudano, oppio e morfina, e mostrò i classici sbalzi d’umore e sintomi di astinenza. Cominciò a giocare d’azzardo e perse la maggior parte della sua fortuna. Fu sospettata di una relazione con un compagno di gioco.
Ada morì giovane (nel 1852) di cancro all’utero e di salasso da parte dei suoi medici e fu sepolta accanto al suo famoso padre.
È fuori discussione che fosse una donna eccezionale. Ma qual è il suo posto nell’informatica? Alcuni la chiamavano la prima programmatrice di computer del mondo, e persino la fondatrice dell’informatica scientifica. Nel 1980, il Dipartimento della Difesa degli Stati Uniti ha scelto (in onore di Lady Lovelace) il nome Ada per un nuovo linguaggio informatico standardizzato.
La verità è un po’ diversa: Ada Lovelace ha un posto piuttosto modesto nel mondo dei computer. Era nel posto giusto al momento giusto e rifletteva un po’ della luce di una delle più grandi persone nel mondo dei computer: Charles Babbage
Prevedendo quasi con un secolo di anticipo il moderno computer programmabile di uso generale, nel 1830 Babbage progettò il suo Analytical Engine. Non era però uno scrittore diligente, soprattutto per quanto riguarda la documentazione delle sue idee (in realtà era un uomo piuttosto disattento e poco pratico, cosa che finirà in alcuni attriti sviluppati tra lui e Ada Lovelace durante il loro successivo lavoro comune), quindi sappiamo poco delle idee di programmazione di Babbage.
Nell’agosto 1840, Babbage visitò Torino in Italia e tenne una serie di seminari sul Motore Analitico all’Accademia delle Scienze. Uno degli ascoltatori, l’ingegnere e professore italiano Federico Luigi Menabrea (1809-1896), che più tardi diventerà il primo ministro d’Italia, scrisse le lezioni, modificate con idee dalle discussioni, nel documento Notions sur la Machine Analytique de M. Charles Babbage, che fu pubblicato in francese nella Bibliothèque Universelle de Genève nell’ottobre 1842. Questo documento fu la prima pubblicazione estesa sui computer e la programmazione nel mondo.
Ada Byron incontrò Charles Babbage nel 1833, e inizialmente si interessò al modello che aveva costruito del suo famoso motore differenziale. Ben presto Babbage divenne una sorta di mentore della giovane donna (e viceversa, dato che Ada era una straordinaria celebrità, e più tardi, come moglie di un importante aristocratico, era nella posizione di agire come patrono di Babbage e dei suoi motori (anche se in realtà non lo fece mai)), e aiutò Ada a iniziare gli studi di matematica con il grande matematico Augustus de Morgan nel 1840 all’Università di Londra. Babbage fu impressionato dall’intelletto e dalle capacità di scrittura della Lovelace. La chiamò L’Incantatrice di Numeri e nel 1843 scrisse:
Dimentica questo mondo e tutti i suoi problemi e se
possibile la sua moltitudine di ciarlatani – ogni cosa
in breve ma l’Incantatrice di Numeri
Dopo la pubblicazione nel 1842 del documento di Menabrea, a Babbage fu chiesto di scrivere un articolo per due riviste scientifiche inglesi (The Ladies Diary e Taylor’s Scientific Memoirs). Così decise di chiedere ad Ada Lovelace di tradurre l’articolo di Menabrea in inglese, ma di aggiungere ampie note alla traduzione, preparate sotto la stretta guida di Babbage. Queste trattano le familiari idee moderne del flusso di controllo nei programmi, in particolare la formulazione di loop semplici e loop annidati controllati da contatori. Tuttavia, il documento (vedi Sketch of The Analytical Engine) e le note evitano accuratamente e deliberatamente qualsiasi discussione sui dettagli dei mezzi con cui questi devono essere implementati, tuttavia è stato scritto per un pubblico di riviste.
Babbage scrisse quanto segue sull’argomento, nel suo libro Passages from the Life of a Philosopher
Ho quindi suggerito di aggiungere alcune note alla memoria di Menabrea, un’idea che fu immediatamente adottata. Abbiamo discusso insieme le varie illustrazioni che potevano essere introdotte: Io ne suggerii diverse, ma la scelta fu interamente sua. Così anche l’elaborazione algebrica dei diversi problemi, eccetto, infatti, quello relativo ai numeri di Bernoulli, che mi ero offerto di fare per risparmiare il disturbo a Lady Lovelace. Questo mi rimandò indietro per una modifica, avendo rilevato un grave errore che avevo fatto nel processo.
Babbage considerò questo documento un riassunto completo degli aspetti matematici della macchina, dimostrando che l’intero sviluppo e le operazioni dell’Analisi sono ora in grado di essere eseguite da una macchina
Ada ampliò anche la visione generale di Babbage del Motore Analitico come un dispositivo che manipola simboli piuttosto che un semplice processore di numeri. Portò al progetto un bel senso dello stile che risultò nell’analogia frequentemente citata, “Possiamo dire in modo più appropriato che il motore analitico tesse schemi algebrici proprio come il telaio Jacquard tesse fiori e foglie”. Suggerì che “potrebbe agire su altre cose oltre al numero, se si trovassero oggetti le cui relazioni fondamentali reciproche potrebbero essere espresse da quelle della scienza astratta delle operazioni… Supponendo, per esempio, che le relazioni fondamentali dei suoni acuti nella scienza dell’armonia e della composizione musicale fossero suscettibili di tale espressione e adattamenti, il motore potrebbe comporre elaborati e scientifici pezzi di musica di qualsiasi grado di complessità o estensione… Molte persone che non hanno dimestichezza con gli studi matematici, immaginano che poiché il compito del motore è quello di dare i suoi risultati in notazione numerica, la natura dei suoi processi deve di conseguenza essere aritmetica e numerica, piuttosto che algebrica e analitica. Questo è un errore. Il motore può disporre e combinare le sue quantità numeriche esattamente come se fossero lettere o qualsiasi altro simbolo generale; e infatti potrebbe portare i suoi risultati in notazione algebrica, se le disposizioni fossero fatte di conseguenza”.
Quindi, che dire del titolo di Ada il primo programmatore del mondo? Beh, questa è una sciocchezza! Babbage lo era, se programmatore è il termine giusto. Dopo Babbage venne un suo assistente matematico, il figlio maggiore di Babbage, Benjamin Herschel, poi Menabrea e forse i due figli minori di Babbage. Ada fu probabilmente la quinta o sesta persona a scrivere programmi. Inoltre non fece altro che rielaborare alcuni calcoli che Babbage aveva eseguito anni prima. È fuori discussione, comunque, che Ada fosse la fata interprete, consigliera, collaboratrice e confidente di Babbage, sostenendo il suo lavoro finanziariamente, intellettualmente ed emotivamente. Come tale il suo risultato fu certamente notevole.