Episode Transcript
Transcripts are displayed as originally observed. Some content, including advertisements may have changed.
Use Ctrl + F to search
0:00
Dopo due episodi nei quali abbiamo raccontato la vita della Contessa Augusta Ada Byron di
0:07
Lovelace, in questa terza ed ultima parte del nostro viaggio parliamo della sua opera
0:12
e di quanto straordinaria sia ancora oggi.
0:15
Se infatti la Lovelace è da molti ritenuta la prima programmatrice della storia, è proprio
0:22
grazie a quanto da lei illustrato nel suo memoir, dal titolo Sketch of Analytical Engine
0:28
invented by Charles Babbage. Ma a differenza di quanto si creda comunemente, un tale titolo non è dovuto solo al fatto
0:36
che lei abbia inserito nell'articolo un algoritmo per la risoluzione dei numeri di Bernoulli,
0:43
ma anche e soprattutto dalla mentalità che traspare chiaramente dalle sue parole.
0:48
Una mentalità che anticipava tante di quelle che sono le caratteristiche del moderno sviluppatore
0:56
di software. Mettiamoci dunque comodi e buon ascolto.
1:00
Benvenuti su Pensieri in Codice, il podcast dove si ragiona da informatici, con Valerio Galano.
1:15
Il lavoro svolto da Ada non fu affatto semplice.
1:19
Il suo compito, che inizialmente era di mera traduzione, si trasformò ben presto in qualcosa
1:26
di molto più complesso e la responsabilità che ne derivò fu notevole.
1:31
La pubblicazione, il memoir come erano soliti chiamarla, una volta completata comprendeva
1:38
la traduzione dell'articolo di Menabrea e le note originali di Ada, e il suo scopo
1:43
era comunicare al governo inglese e alla comunità scientifica britannica il valore della rivoluzionaria
1:51
invenzione di Babbage, la macchina analitica.
1:54
Per fare ciò, Lady Lovelace dovette sintetizzare una mole di progetti enorme e, a partire da
2:01
essi, immaginare una serie di applicazioni pratiche che, da una parte, fossero realmente
2:07
realizzabili e, dall'altra, che facessero colpo sui suoi lettori.
2:11
Il suo compito era impressionare ed interessare il più vasto pubblico possibile, facendo
2:18
sempre però attenzione a non ingannare o illudere nessuno, intenzionalmente o meno.
2:24
Possiamo solo immaginare quanto sia stato complicato, dato che, alla sua morte, Babbage
2:29
aveva riempito ben trenta volumi di progetti e Ada non aveva nemmeno un modello in scala
2:35
ridotta sul quale provare le proprie intuizioni, come accadeva invece per la macchina differenziale.
2:41
Doveva ragionare totalmente in astratto.
2:44
Ci furono poi una serie di problemi pratici nella stesura delle note, in primis la difficoltà
2:51
oggettiva di lavorare a distanza.
2:54
La Lovelace e Babbage erano entrambi molto impegnati e non potevano incontrarsi facilmente,
3:01
quindi si spedivano null'altro le bozze dei testi, corredate da lunghe descrizioni o richieste
3:07
di spiegazioni di determinati aspetti.
3:10
Per noi che oggi utilizziamo editor condivisi e archivi cloud, si tratterebbe di un problema
3:15
banale, ma all'epoca era una parte importante della lavorazione.
3:21
Sono varie le lettere in cui Laylor improvera di averle mandato una versione vecchia del
3:27
documento o per aver dimenticato di includere qualche pagina.
3:31
In effetti, l'immagine di Babbage che appare dalla corrispondenza di questo periodo è
3:38
di una persona piuttosto caotica e disordinata.
3:41
E poi ancora ci fu il litigio riguardo la problematica prefazione che Babbage voleva
3:47
includere all'ultimo momento, di cui abbiamo già parlato in precedenza.
3:51
Si trattò di una controversia non da poco che quasi fece saltare l'intero lavoro e
3:57
che, come abbiamo già discusso, cambiò per sempre il rapporto fra i due.
4:02
Infine, altra cosa non banale, si presentò la questione di decidere come firmare l'opera.
4:09
Sappiamo infatti dagli scambi epistolari con la madre ed il marito che Ada era molto preoccupata
4:16
di come sarebbe stato percepito il suo lavoro se si fosse intuito che era stato scritto
4:22
da una donna invece che da un uomo.
4:24
Lei sapeva bene, date le sue esperienze personali e quelle dell'amica Mary Somerville, che questo
4:31
era un aspetto da ponderare con molta attenzione per raggiungere gli obiettivi di divulgazione
4:37
che si era posta. Per quanto potesse essere abile nel descrivere le potenzialità della macchina analitica,
4:44
nel fornire informazioni, analisi o esempi, sapeva bene che un'opera scritta da una donna
4:52
non avrebbe mai raggiunto i lettori più prevenuti.
4:55
E così, alla fine, dopo essersi consultata con William, decise di sacrificare l'orgoglio
5:02
e di firmare il memoir con le sole sue iniziali, quindi come A.A.L.
5:11
Nello scrivere il memoir, A.A.D.A. dimostrò di avere delle abilità di pensiero del tutto
5:19
fuori dal comune per il suo tempo.
5:22
Il suo genio consisteva nella capacità di sintetizzare le idee astratte, diffondere
5:28
ragionamento e immaginazione in un nuovo tipo di idea, ed è per questo motivo che capiva
5:34
le potenzialità della macchina analitica anche meglio del suo stesso inventore.
5:40
Come vedremo a breve, in pratica la Lovelace possedeva molte delle competenze che oggi
5:46
si richiedono ai moderni programmatori, astrazione, progettazione, sinteticità, obiettività,
5:53
problem solving, immaginazione e creatività, e non v'è dubbio che gli eventi vissuti sia
6:00
positivi che negativi abbiano contribuito enormemente allo sviluppo di tali capacità.
6:06
Gli anni passati a studiare per corrispondenza la spinsero a speculare sui problemi, ad individuare
6:13
in autonomia le soluzioni, e mettere in dubbio gli assunti di base e progettare estensioni
6:19
delle conoscenze acquisite. L'utilizzo quotidiano delle metafore in tutti i campi, personale o di studio che fossero
6:27
favorì certamente in lei l'astrazione dei concetti e l'applicazione delle conoscenze
6:33
in diversi contesti. L'interesse sviluppato per i giochi matematici e la musica la portò a valutare la loro possibile
6:41
elaborazione tramite la macchina analitica che, concettualmente, è qualcosa di molto
6:47
simile alla progettazione di algoritmi.
6:49
Augustus De Morgan, che, essendo stato l'insegnante di Ada, forse conosceva le sue capacità meglio
6:56
di chiunque altro, affermò La capacità di pensiero di Ada, fin dall'inizio della mia corrispondenza con lei, è stata
7:04
assolutamente fuori dal comune per qualsiasi principiante, uomo o donna.
7:08
La mente di Mrs. Somerville non l'ha mai condotta oltre i dettagli del lavoro matematico.
7:13
Lady L prenderà una strada completamente diversa.
7:17
Alcuni biografhi di Ada Lovelace e Charles Babbage hanno messo in dubbio il contributo
7:28
della contessa alle note, quasi come se lui le avesse scritte e lei fosse stata solo la
7:34
sua segretaria. Non è chiaro da dove sia sorta questa particolare obiezione.
7:40
Babbage, nella sua autobiografia, afferma chiaramente che Ada scrisse le note basandosi sul materiale
7:47
che lui le aveva fornito. Si trattò di uno sforzo collaborativo, certo, ma poiché i progetti e le descrizioni erano
7:55
state realizzate da lui, è ovvio che egli fosse l'unico a poter dare chiarimenti in
8:02
merito. Anche in questa fase, Lady Lovelace si distinse ponendo domande pertinenti e scegliendo personalmente
8:10
un modello matematico. Il famoso calcolo dei numeri di Bernoulli, utilizzato per evidenziare la differenza tra
8:17
le due macchine, fu una sua scelta e lo realizzò quasi totalmente da sola.
8:23
Secondo Babbage, Ada accorresse persino un errore di calcolo che lui aveva commesso e
8:28
quando cercò di modificare le sue note, lei ebbe da ridire sulle sue capacità di editor.
8:35
L'unico aiuto che Babbage diede effettivamente ad Ada, addetta dello stesso inventore, fu
8:42
quello di completare la tabella dei numeri di Bernoulli, ma semplicemente perché lei
8:47
all'epoca era molto malata. Alla fine fu lui stesso a riassumere l'alta considerazione per ciò che lei aveva fatto,
8:56
sempre nella sua autobiografia. Discutemmo insieme delle varie illustrazioni che potevano essere introdotte.
9:03
Io ne suggerii diverse, ma la scelta fu interamente sua.
9:08
Così come l'elaborazione algebrica dei vari problemi, tranne quello relativo ai numeri
9:13
di Bernoulli, che mi ero offerto di fare per risparmiare a Lady Lovelace la fatica.
9:19
Lei me lo rimandò indietro per una modifica, avendo individuato un grave errore che avevo
9:24
commesso nel processo. Questa memoria fornisce, a coloro che sono in grado di comprendere il ragionamento, una
9:31
dimostrazione completa del fatto che l'insieme degli sviluppi e delle operazioni dell'analisi
9:36
sono ora in grado di essere eseguiti da macchine.
9:39
Uno degli obiettivi più importanti che si prefisse ADA fu dunque di rendere edotti i
9:51
lettori delle grandi potenzialità della macchina analitica, e per fare ciò fu fondamentale
9:57
evidenziare un aspetto dello strumento molto difficile da comprendere.
10:01
La macchina infatti una volta finalmente realizzata avrebbe avuto la capacità di eseguire operazioni
10:08
in sequenza, ad esempio avrebbe potuto calcolare una somma o una divisione e poi utilizzare
10:14
il risultato per un calcolo successivo e così via, potenzialmente all'infinito.
10:19
Ciò significa che lo strumento sarebbe stato in grado di immagazzinare e riutilizzare le
10:26
informazioni. Nessuna altra macchina calcolatrice ideata fino a quel momento era capace di un tale
10:33
automatismo. Nemmeno la macchina differenziale, il precedente progetto di Babbage, per questo motivo risultava
10:40
così complicato immaginarne le applicazioni.
10:44
La scelta di Lady Lovelace di utilizzare come esempio nelle sue note il calcolo dei numeri
10:50
di Bernulli fu perfetta per evidenziare tale aspetto.
10:55
Per calcolare la sequenza infatti è necessario eseguire molte operazioni, quindi prenderne
11:01
i risultati e utilizzarli per altre operazioni successive.
11:05
Solo la macchina analitica avrebbe potuto farlo grazie proprio all'utilizzo delle schede
11:11
perforate che lei aveva raccomandato di includere nel progetto e dal suo meccanismo di archiviazione
11:18
interna. Questa scelta dimostra che Ada non vedeva solo i dettagli tecnici ma anche il quadro
11:25
generale, il concetto di ciò che la macchina analitica avrebbe potuto o non potuto fare
11:31
e di cosa avrebbe potuto fare in più rispetto ai suoi predecessori.
11:35
Non si trattò di una decisione facile, Babbage aveva a disposizione volumi di progetti e
11:41
molti esempi di iterazioni di quelli che oggi potremmo definire primordiali programmi per
11:48
computer. Tuttavia la contessa parlandone e discutendone con l'inventore e distillando le informazioni
11:55
che lui le forniva, al pari di come un moderno sviluppatore distilla le richieste dei propri
12:01
committenti, riuscì a mettere nella giusta prospettiva un'idea straordinaria.
12:07
E cosa bellissima, nel mezzo di questa impresa molto seria, lei scrisse a lui lettere deliziose
12:14
e stravaganti, piene di discussioni sui numeri di Bernulli certo, ma anche di fatti e avvenimenti
12:21
personali e di metafore di lei nella veste di fata, enigmista, generale.
12:26
Babbage divenne così il suo confidente e lei la divulgatrice delle sue idee.
12:32
Alla fine, Ada implementò un algoritmo che la macchina analitica avrebbe potuto utilizzare
12:38
per generare questa sequenza di numeri facilmente, velocemente e senza errori, un algoritmo efficiente
12:45
diremmo oggi. Lei era certa che questo avrebbe fatto colpo sui suoi lettori esperti di scienza più di
12:51
qualunque altro possibile esempio.
12:53
Tale progetto avrebbe dimostrato che la macchina analitica era un'idea superiore e unica.
13:00
Oggi, questo algoritmo viene da molti considerato il primo programma per computer della storia.
13:06
Il progetto di Charles Babbage della macchina analitica può essere definito come la formulazione
13:18
teorica del primo calcolatore informatico, l'idea che segna un po' la nascita della
13:24
moderna gestione automatizzata del calcolo, almeno sulla carta.
13:28
Questo incredibile strumento fu progettato come una serie di meccanismi, un sistema di
13:35
input, un sistema di elaborazione chiamato MIL, perché realizzato tramite una sorta
13:40
di mulino, e un sistema di output.
13:43
In effetti lo stesso schema di componenti che fu poi utilizzato per la creazione dei primi
13:49
computer. L'input, come abbiamo già detto, fu ideato per la lettura di schede perforate simile
13:56
a quelle del telaio jacquard, e tale meccanismo fu poi effettivamente impiegato per programmare
14:03
i cosiddetti mainframe, e restò in utilizzo fino alla fine degli anni settanta del novecento.
14:09
Anche se non si può parlare di programmazione nel senso strettamente moderno del termine,
14:16
disponendo le schede nel modo corretto si sarebbe potuta istruire la macchina per eseguire
14:21
un calcolo, un ciclo o una serie di processi in sequenza, prendendo e depositando numeri
14:28
dal MIL. A sua volta il MIL sarebbe poi stato in grado di eseguire le operazioni di base, somma,
14:35
sottrazione, moltiplicazione e divisione, e di contenere oltre mille numeri a cinquanta
14:41
cifre in virgola fissa. Infine, nell'autobiografia, nei passages, Babbage afferma di aver ideato tre tipi di
14:50
output. Un apparecchio per la stampa su carta, un mezzo per produrre una stampa standardizzata
14:57
delle tabelle dei risultati calcolati e un meccanismo per punzonare su schede di cartoni
15:04
o su piastre metalliche i risultati di qualsiasi calcolo, in modo da poterli riutilizzare successivamente
15:10
come input. Tutto il macchinario poi sarebbe stato alimentato da un motore a vapore, il che, come abbiamo
15:17
già detto, in totale lo avrebbe reso grande quasi quanto una locomotiva.
15:23
Oggi, per noi, questi sono concetti abbastanza semplici e comprensibili, ma all'epoca si trattava
15:30
di fatto solo di migliaia e migliaia di pagine di diagrammi e schemi, perché come sappiamo
15:36
il progetto non venne mai realizzato.
15:38
In una condizione del genere, era difficile persino costruire un prototipo in scala ridotta,
15:46
figuriamoci comprendere e descrivere a pieno il funzionamento e le possibilità di una
15:51
tale tecnologia. Eppure, questo è proprio l'arduo compito che, sì, prefisse Ada Lovelace quando decise
15:59
di scrivere le sue note all'articolo di Menabrea, descrivere il funzionamento della macchina
16:05
analitica e soprattutto il suo valore, le potenziali applicazioni e perfino i potenziali
16:11
abusi. E possiamo dire che ci riuscì pienamente, è per questo motivo che le note stupiscono
16:18
ancora oggi, a distanza di 180 anni.
16:22
Babbage fornì l'idea ed il progetto, ma fu Ada che con il doppio cappello di analista
16:28
e metafisica inserì quell'idea e quel progetto nel contesto appropriato, sia a livello di
16:35
dettaglio che di visione generale.
16:37
Sono riluttante a restituire la vostra ammirevole e filosofica nota A. Vi prego di non modificarla.
16:49
E' incredibile che voi sappiate tutto questo per intuizione, e più leggo le vostre note
16:54
più ne sono sorpreso e mi rammarico di non aver esplorato prima una vena così ricca del
16:59
metallo più nobile. Come abbiamo già detto, oggi molti conoscono Ada Lovelace per il merito di aver scritto
17:08
il primo programma per computer della storia, l'algoritmo per il calcolo della successione
17:13
dei numeri di Bernoulli utilizzando la macchina analitica.
17:17
Ma questa è solo una parte della sua opera.
17:19
Il vero fascino delle note, secondo me, deriva principalmente dal fatto che Lady Lovelace
17:26
previde già nel 1842 alcune delle caratteristiche che appartengono al moderno computer, nonché
17:34
l'impatto che tale tecnologia avrebbe avuto sui suoi utilizzatori e sulle scienze in generale.
17:40
Di fatto nel suo testo lei arrivò a descrivere i concetti di base di quello che noi oggi chiamiamo
17:46
sviluppo del software. In un primo momento Ada aggiunse una sola nota alla traduzione, quella che credeva sarebbe
17:55
stato il suo unico contributo originale e lo fece semplicemente per chiarire alcuni
18:00
concetti che secondo lei Menabrea aveva trascurato.
18:04
Ma quando le venne poi chiesto di integrare l'articolo con le proprie conoscenze lei aggiunse
18:10
varie altre note, producendo una quantità di materiale che superò in lunghezza l'articolo
18:17
originale. Nella prima, la nota filosofica A, quella che piacque tanto a Babbage, la contessa iniziò
18:30
con il definire i confini della macchina analitica e i dettagli di come essa avrebbe svolto i
18:38
suoi compiti. La macchina differenziale, il primo motore di calcolo di Babbage, era stata progettata
18:45
principalmente per calcolare e stampare specifiche tabelle, ma il progetto della nuova macchina
18:52
analitica rappresentava un salto meccanico e concettuale enorme.
18:57
La macchina analitica al contrario non è semplicemente adatta a tabulare i risultati
19:04
di una funzione particolare e di nessun'altra, ma a sviluppare e tabulare qualsiasi funzione.
19:09
In effetti la macchina può essere descritta come l'espressione materiale di qualsiasi
19:13
funzione indefinita di qualsiasi grado di generalità e complessità.
19:16
La nuova macchina analitica avrebbe posseduto una capacità del tutto innovativa, sarebbe
19:24
cioè stata in grado di memorizzare, oltre ai dati, anche un programma sotto forma di
19:30
sequenza di operazioni o istruzioni.
19:32
ADA iniziò anche a riconoscere ed enfatizzare la responsabilità che questa nuova capacità
19:39
avrebbe posto nelle mani dell'utilizzatore della macchina, il quale avrebbe dovuto specificare
19:46
il programma in modo preciso e completamente conforme alle proprie necessità.
19:51
Oggi noi chiamiamo questo tipo di lavoro sviluppo del software, ma per un'epoca in cui non
19:58
esisteva ancora il concetto di computer né un qualcosa di tangibile e reale su cui
20:04
sperimentare, si trattò di un'intuizione notevole, come notevole è anche la definizione
20:10
che ADA diede di operazione.
20:13
Può essere auspicabile spiegare che con la parola operazione intendiamo qualsiasi processo
20:20
che altera la relazione reciproca di due o più cose sia questa relazione di qualsiasi
20:25
tipo. Questa è la definizione più generale e include tutti gli argomenti dell'universo.
20:30
Non si può negare che sembri la descrizione di quella che noi oggi chiamiamo una funzione,
20:38
un generico processo che altera un qualsiasi tipo di relazione o valore.
20:43
Un altro passaggio singolarmente profetico di questa nota A è quello in cui la Lovelace
20:50
anticipò quella che sarebbe poi stata una delle prime difficoltà per la rappresentazione
20:57
dell'informazione nei futuri linguaggi di programmazione, cioè il fatto che i simboli debbano essere
21:04
utilizzati diversamente a seconda del significato che hanno all'interno del programma.
21:11
La macchina analitica, differentemente da un computer, sarebbe stata totalmente meccanica,
21:18
quindi quando i numeri avrebbero indicato delle operazioni e non delle quantità sarebbero
21:23
stati inseriti in una parte del meccanismo anziché in un'altra.
21:28
Ma, ben guardare, quello che Ada mise in evidenza è la tipica difficoltà del compito dello
21:34
sviluppo di software, cioè la difficoltà di comunicare alla macchina ciò che ci si
21:40
aspetta che essa faccia. In effetti, leggendo le note, si rimane colpiti dall'apprezzamento di Ada per il principio
21:48
secondo cui il potere deriva dalla creatività disciplinata.
21:53
Le due personalità che questa donna ha manifestato in tutto il corso della sua vita, quella più
21:59
analitica e scientifica e quella più metafisica e creativa, risultano nella sua opera essere
22:07
in perfetto equilibrio dando vita a delle abilità dal potenziale sorprendente.
22:13
Lo stesso tipo di abilità che sono richieste oggi ad un bravo sviluppatore, cioè la capacità
22:19
di inventare soluzioni e descriverle in modo preciso, strutturato e ripetibile.
22:24
Una delle grandi passioni di Ada, poi, era la musica e ovviamente le bastò poco, una
22:30
volta definiti i concetti di base, per arrivare ad ipotizzare che la macchina avrebbe potuto
22:36
trattare tale arte, se ricondotta la giusta codifica.
22:40
Inoltre, la macchina analitica potrebbe agire su altre cose oltre al numero, se si trovassero
22:48
oggetti le cui relazioni fondamentali reciproche potessero essere espresse da quelle della
22:52
scienza astratta delle operazioni e che fossero anche suscettibili di adattamenti all'azione
22:57
della notazione operativa e del meccanismo del motore.
23:00
Supponendo, per esempio, che le relazioni fondamentali dei suoni acuti nella scienza
23:05
dell'armonia e della composizione musicale siano suscettibili di tali espressioni e adattamenti,
23:10
beh, il motore potrebbe comporre brani musicali elaborati e scientifici di qualsiasi grado
23:15
di complessità o estensione. Una volta fatta la distinzione tra numeri e operazioni da eseguire, non fu poi difficile
23:25
fare il passo successivo e immaginare come la macchina analitica sarebbe stata in grado
23:30
di fornire due tipi di risultati, numerici e simbolici, ad esempio algebrici.
23:36
In effetti la macchina analitica avrebbe potuto generare nuovi programmi, oltre che numeri,
23:43
poiché sarebbe stata capace anche di perforare le schede, e questo avrebbe aperto un nuovo
23:49
e vasto territorio per l'analisi delle informazioni.
23:52
Quello che descrisse Lady Lovelace sembra essere una versione primordiale del concetto
23:59
di sottoprocesso o di funzione moderna, in cui l'output di un programma diventa l'input
24:05
di un altro programma. Un concetto che, se esteso, può tranquillamente essere visto come un progenitore del software
24:14
che tutti noi oggi conosciamo, nel quale tutta una serie di componenti vengono concatenati
24:20
per dare vita alla risoluzione di problemi complessi.
24:24
Per tutta la nota A, dunque, lei continuò ad insistere sull'enorme superiorità della
24:30
seconda macchina sulla prima, dell'analitica sulla differenziale.
24:35
Primo perché, in fin dei conti, l'obiettivo era quello di fare interessare i lettori e
24:41
di trovare potenziali finanziatori, e per ottenere ciò era fondamentale spiegare perché
24:46
Babbage avesse abbandonato il primo progetto in favore del secondo senza neanche portarlo
24:52
a compimento. Ma anche perché lei riusciva già a vedere questo strumento come il mezzo per raggiungere
25:00
una sorta di verità superiore.
25:02
La sua descrizione spazia continuamente dal metafisico al pragmatico, ma sempre sottolineando
25:09
l'enorme impulso che questa invenzione avrebbe dato alla scienza.
25:16
Coloro che pensano alla verità matematica come allo strumento attraverso il quale la
25:20
debole mente dell'uomo può leggere nel modo più efficace le opere del suo creatore,
25:24
considereranno con particolare interesse tutto ciò che può tendere a facilitare la traduzione
25:28
dei suoi principi in forme pratiche e esplicite.
25:31
E la macchina analitica avrebbe facilitato eccome il lavoro dello scienziato.
25:38
La dimostrazione sta nel fatto che, ad esempio, il sistema a schede perforate di cui sarebbe
25:44
stata dotata, come abbiamo già detto, venne effettivamente utilizzato.
25:49
O nel fatto che, secondo il progetto di Babbage, la macchina poteva memorizzare un numero di
25:55
cifre pari a quello dei computer della metà degli anni sessanta del secolo successivo.
26:01
O ancora nel fatto che il mulino, dove venivano elaborate le informazioni, era l'equivalente
26:08
meccanico di una CPU, di un moderno processore matematico.
26:12
Infine, la macchina analitica avrebbe avuto anche diversi metodi per stampare le informazioni,
26:19
persino sotto forma di grafici, proprio come oggi i computer hanno diverse periferiche.
26:24
È vero, non sarebbe stata programmabile nel senso moderno del termine, tutto sarebbe
26:30
avvenuto tramite il posizionamento delle schede perforate e la ripetizione dei cicli, più
26:36
come un telaio, ma Ada sottolineò anche questo e nel farlo utilizzò una metafora
26:42
come forse avrebbe fatto suo padre. Possiamo dire che il motore analitico tesse modelli algebrici come il telaio jacquard
26:50
tesse fiori e foglie. Un'altra caratteristica fondamentale della macchina sarebbe stata la capacità di gestire
26:59
operazioni condizionali, quelle che noi oggi chiamiamo ad esempio IF, senza la necessità
27:05
di intervento da parte di un operatore.
27:08
In effetti il macchinario avrebbe potuto calcolare la soluzione ad un problema e metterla in
27:15
una sorta di archivio per poi recuperarla ed utilizzarla per un altro problema se e quando
27:22
ciò si fosse rivelato necessario.
27:25
Si sarebbe trattato di un salto di qualità che ovviamente Ada non si lasciò sfuggire.
27:30
Consentendo al macchinario di combinare insieme simboli generali in successioni di varietà
27:37
ed estensioni limitate, si stabilisce un legame unitario tra le operazioni della materia e
27:42
i processi mentali astratti della branca più astratta della scienza matematica.
27:46
Viene sviluppato un nuovo, vasto e potente linguaggio per l'uso futuro dell'analisi,
27:52
in cui maneggiare le sue verità in modo che queste possano diventare di più rapida e
27:55
accurata applicazione pratica per gli scopi dell'umanità di quanto i mezzi finora in
28:00
nostro possesso abbiano reso possibile. Un altro passaggio interessante si trova poi nella nota B.
28:11
Non è eccessivo, secondo me, intravedere in questo punto una versione primordiale di
28:17
una serie di idee basilari nel mondo dello sviluppo software.
28:21
Astrazione, modularità, separazione delle responsabilità, offuscamento, quasi un antenato
28:28
della progettazione orientata agli oggetti.
28:30
Più analizziamo il modo in cui tale motore esegue i suoi processi e raggiunge i suoi
28:37
risultati, più ci rendiamo conto di come esso ponga in una luce vera e giusta le relazioni
28:42
e le connessioni reciproche dei vari passaggi dell'analisi matematica, di come separi
28:47
chiaramente le cose che sono in realtà distinte e indipendenti e unisca quelle che sono reciprocamente
28:52
dipendenti. La componente essenziale di questa idea è la separazione tra le caratteristiche di un'operazione
29:02
e la sua implementazione, cioè tra cosa l'operazione fa e come lo fa.
29:08
In effetti, praticamente in tutti i moderni linguaggi di programmazione esiste il concetto
29:14
di definizione, che descrive il modo in cui una funzione si collega agli altri elementi
29:20
di software e di corpo che specifica in dettaglio le azioni che tale funzione va ad eseguire
29:26
sui dati passati al momento della chiamata.
29:29
I vantaggi di questa idea di separazione sono palesi a chiunque conosca la programmazione.
29:36
In fase di progettazione permette di conoscere in anticipo il funzionamento di una porzione
29:41
di codice. In fase di implementazione permette di utilizzare le funzioni anche se non se ne conoscono i
29:49
dettagli implementativi. In fase di manutenzione permette di sostituire, se necessario, una funzione con un'altra senza
29:58
impattare in alcun modo sul resto del software, a patto che le due condividano una uguale
30:03
definizione. Estremizzando poi il concetto, si ottiene e lascia passare per realizzare non solo semplici
30:11
funzioni ma strutture più complesse come librerie e packages.
30:17
In pratica si arriva al moderno concetto di interfaccia.
30:21
Oggi come oggi i veri problemi del software sono di complessità, di scala e la capacità
30:29
di separare le cose che in realtà sono distinte e indipendenti e unire quelle che sono reciprocamente
30:35
dipendenti, tanto per usare le parole di ADA, è assolutamente fondamentale.
30:42
Nell'adattare il concetto di scheda perforata alla macchina analitica, Bubbage aveva apportato
30:52
un miglioramento al modo in cui le schede potevano essere utilizzate per dare istruzioni.
30:58
Nella nota C, ADA mette in evidenza proprio questa modifica e addirittura la ripropone
31:05
come miglioramento del progetto originale per aumentare le prestazioni del telaio jacquard.
31:12
E' stato ideato un metodo tecnicamente chiamato backing delle carte in determinati gruppi
31:17
secondo determinate leggi. L'obiettivo di questa estensione è garantire la possibilità di utilizzare una particolare
31:23
carta o un gruppo di carte per un numero qualsiasi di volte successive nella soluzione di un
31:28
problema. Con l'introduzione del sistema di supporto nel telaio jacquard stesso, i modelli che dovrebbero
31:35
avere una simmetria e seguire leggi irregolari di qualsiasi portata potrebbero essere tessuti
31:40
per mezzo di un numero relativamente basso di carte.
31:42
In effetti un codice accuratamente progettato e implementato è perfettamente in grado di
31:50
essere riutilizzato in punti diversi da quelli originariamente previsti.
31:54
Riutilizzare il software è ormai la prassi più comune ed è un mezzo per risparmiare
32:01
tempo e risorse. Non solo riduce il costo della rielaborazione di codice simile, ma permette anche di impiegare
32:10
qualcosa di già testato diminuendo lo sforzo impiegato nell'individuazione e correzione
32:16
degli errori. Nella nota D abbiamo altre due intuizioni sorprendentemente attuali.
32:27
Innanzitutto, in questa nota ADA raccomanda l'uso degli indici per fare riferimento ai
32:33
dati all'interno della macchina e fornisce altresì una tabella d'esempio per spiegare
32:38
il concetto. Oggi questa è una tecnica basilare per gestire oggetti software complessi come liste, array
32:46
e strutture e praticamente tutti i linguaggi ne fanno uso e forniscono istruzioni ad-hoc
32:53
per l'iterazione indicizzata.
32:56
Ma oltre a ciò, grazie proprio al concetto di indicizzazione, ADA poteva allora introdurre
33:02
una seconda idea che oggi è alla base del moderno software.
33:07
Con l'indicizzazione il presupposto che la macchina analitica venisse controllata
33:12
da un singolo flusso di istruzioni in sequenza diventava più che altro una convenzione
33:19
e lei mostrò una notevole intuizione immaginando la possibilità di creare flussi multipli
33:26
di istruzioni eseguite in parallelo.
33:28
Oggi noi definiamo questo concetto come processi paralleli o multitrading o in tanti altri
33:35
modi a seconda del linguaggio o dell'hardware di riferimento.
33:39
Ma è comunque un qualcosa di complesso da concepire e realizzare già con le moderne
33:45
tecniche, figuriamoci allora senza nulla di concreto e solo analizzando pile e pile
33:51
di progetti. Deve essere evidente quanto siano molteplici e reciprocamente complicate le considerazioni
33:59
che il funzionamento di un tale sistema comporta.
34:01
Spesso si verificano contemporaneamente diverse serie di effetti distinti, tutti indipendenti
34:06
l'uno dall'altro, ma che esercitano in misura maggiore o minore un'influenza reciproca.
34:12
Regolare gli uni e gli altri e persino percepirli e tracciarli con perfetta correttezza e successo
34:18
comporta difficoltà la cui natura è in certa misura simile a quella di ogni questione
34:22
in cui le condizioni sono molto numerose e complicate.
34:25
L'analogia tra il funzionamento dei processi paralleli nella macchina e quelli nel mondo
34:33
reale, anch'essi per natura paralleli, traspare evidente dalle parole di Ada e, partendo da
34:39
queste considerazioni, il passo ad immaginare più macchine analitiche che funzionino in
34:45
parallelo è piuttosto breve. Ovunque esista un termine generale, ci sarà un gruppo ricorrente di operazioni, come nell'esempio
34:57
precedente. Sia per brevità, sia per disgiunzione, il gruppo ricorrente è chiamato ciclo.
35:04
Per ciclo di operazioni si intende quindi qualsiasi insieme di operazioni che si ripete
35:08
più di una volta. In quest'altro passaggio, che si trova nella nota E e che, ricordiamolo, fu scritta nel
35:18
1843, la contessa di Lovelace definì di fatto quello che è oggi il concetto di ciclo e
35:27
se una di queste operazioni fosse a sua volta un ciclo, allora si potrebbero realizzare
35:33
cicli di cicli potenzialmente all'infinito.
35:36
E ancora una volta l'accento fu posto sulle enormi possibilità di calcolo, di riutilizzo
35:42
del lavoro fatto e di potenziamento delle capacità umane in favore della scienza che
35:48
la macchina sarebbe stata in grado di attuare.
35:55
Esiste un bellissimo ritratto tessuto di Jacquard, per la cui realizzazione sono state necessarie
36:00
24.000 carte. Il potere di ripetere le carte riduce in misura immensa il numero di carte necessarie.
36:07
E' ovvio che questo miglioramento meccanico è particolarmente applicabile ovunque si
36:11
verifichino cicli. Una volta acquisito il concetto di ciclo e le sue enormi potenzialità, come avrebbe
36:20
potuto Ada non rendersi conto della retratezza dei meccanismi fino ad allora realizzati?
36:28
Nella nota F, infatti, la contessa Di Lovelace introdusse il concetto di ottimizzazione dei
36:34
processi, prendendo ad esempio il telaio Jacquard, ma generalizzando poi anche il discorso.
36:41
Come era possibile che dei disegni sostanzialmente simmetrici necessitassero di essere descritti
36:48
interamente? Se il disegno si ripeteva, allora si sarebbe potuta riutilizzare la stessa scheda perforata
36:56
ad ogni ripetizione. E se questo valeva per un disegno, allora perché non per qualsiasi tipo di operazione
37:03
che si ripetesse uguale a se stessa?
37:05
Ecco che, di nuovo, i cicli risultano un'innovazione essenziale.
37:15
In conclusione, dopo aver magnificato le potenzialità della macchina analitica, dopo aver provato
37:21
a immaginare le applicazioni concrete, dopo aver tentato di catturare l'attenzione e solleticare
37:27
l'immaginazione del lettore, dopo aver scritto il primo esempio di programmazione dello strumento,
37:33
nella nota G, Ada stupisce, infine, con un'estrema dimostrazione di onestà.
37:42
È auspicabile prevenire la possibilità di idee esagerate che potrebbero sorgere in merito
37:47
ai poteri della macchina analitica. Quando si prende in considerazione un nuovo argomento, si tende spesso in primo luogo
37:53
a sopravvalutare ciò che si ritiene già interessante e notevole, e in secondo luogo, per una sorta
37:59
di reazione naturale, a sottovalutare il vero stato del caso, quando si scopre che le nostre
38:04
nozioni hanno superato quelle che erano realmente sostenibili.
38:08
La macchina analitica non ha alcuna pretesa di creare qualcosa, può fare tutto ciò
38:13
che sappiamo ordinarle di fare, può eseguire un'analisi, ma non ha la capacità di anticipare
38:18
alcuna relazione o verità analitica.
38:20
Il suo compito è quello di assisterci nel rendere disponibile ciò che già conosciamo.
38:26
Come imparato da Babbage, l'onestà in questi casi è sempre la strada migliore.
38:34
Che senso avrebbe avuto illudere il proprio pubblico con racconti di cose in realtà impossibili?
38:40
Così come Babbage spiegò sempre ai propri ospiti che inserendo i numeri sbagliati si
38:45
ottengono risultati sbagliati?
38:48
Così Ada volle assicurarsi che nessuno pensasse che la macchina fosse in grado di fare più
38:55
di quanto il suo programmatore riuscisse a istruirla a fare.
38:59
La macchina analitica non avrebbe avuto la capacità di pensare, ma sarebbe stata uno
39:04
strumento potentissimo e innovativo per supportare l'essere umano nel suo percorso verso la
39:11
conoscenza. Anche se gli sforzi di Ada non portarono poi ai risultati attesi da lei e da Babbage, la
39:22
sua opera resta comunque oggi un qualcosa di straordinario.
39:26
Non solo perché descrive concetti moderni con più di cent'anni di anticipo, ma anche
39:32
perché ci mostra quanto singolare ed interessante fosse la sua autrice.
39:37
Ada Lovelace dovette lottare per ottenere il suo posto nella storia.
39:42
Quando provò a seguire il punto di vista di sua madre o di suo padre fallì, ma quando
39:48
si decise ad abbracciare e bilanciare sia la poesia che la scienza, sia la metafisica
39:54
che l'analisi, sia la forma che la sostanza, riuscì ad immaginare un'innovazione tecnologica
40:01
che ha superato la prova del tempo.
40:04
Il suo merito più grande è forse quello di aver descritto la nascita di una nuova idea
40:11
e poi fatto un passo indietro e guardato a quell'idea in modo creativo e critico.
40:16
E così facendo, per un breve momento, l'incantatrice di numeri vide qualcosa per quello che era
40:23
stato, che era e che sarebbe potuto essere.
40:26
Pochi a suo tempo capirono questi meriti.
40:30
Uno di questi fu certamente Babbage, che vide una donna in grado di percepire il valore
40:36
del suo progetto, di descriverlo in modo chiaro e conciso e di avere la capacità
40:41
di mettere l'innovazione tecnologica nella giusta prospettiva.
40:45
Questa qualità viene spesso minimizzata perché non può essere quantificata, eppure
40:51
è il cuore della questione. Non si può negare che Ada avesse una visione delle possibilità delle macchine calcolatrici
40:59
che superava di gran lunga quella dei suoi contemporanei, Babbage incluso.
41:04
Per tanto tempo, in quanto donna, non ha avuto la considerazione che merita, ma per fortuna
41:11
molti oggi riconoscono l'algoritmo descritto da Ada nelle note per generare i numeri di
41:16
Bernulli come il primo programma per computer della storia, e quindi lei è considerata
41:23
la prima programmatrice di computer.
41:26
Esiste persino il giorno di Ada Lovelace che cade il secondo martedì di ottobre e che
41:32
è stato istituito nel 2019 per celebrare i contributi delle donne nel campo delle materie
41:38
STEM. Ada non fu quindi solo una donna speciale del XIX secolo, ma è anche un simbolo e un
41:46
mito moderno. Più conosciuta per la sua associazione con la nascita della moderna informatica che come
41:53
figlia di Byron, il fatto di essere la figlia di un grande poeta conferisce tuttavia a lei
41:59
e alla sua opera una passione ed una forza fuori dal comune.
42:03
È una perdita incommensurabile per la matematica, l'informatica e la poesia che Ada Byron King,
42:10
contessa di Lovelace, non abbia mai avuto l'opportunità di scoprire l'entità di
42:16
quell'energia e di quel potere che portava dentro di sé.
42:19
Si conclude così il nostro viaggio nella vita e l'opera di Ada Lovelace.
42:27
Spero tanto che questa miniserie ti sia piaciuta almeno quanto è piaciuto a me realizzarla.
42:34
Mi raccomando, ti chiedo sinceramente il favore di farla girare il più possibile, è un progetto
42:40
di cui vado fiero e vorrei tanto che lo ascoltassero più persone possibile.
42:45
E anche oggi ringrazio tantissimo gli amici che hanno prestato la voce sempre in ordine
42:51
di apparizione. Walter Vannini del podcast Data Nightmare nella parte di Augustus De Morgan.
42:57
Chiara Virgili del podcast Dannati Architetti nella parte di Ada Lovelace.
43:01
E Alex Raccuglia di Techno Peels nella parte di Charles Babbage.
43:06
Tutte le citazioni di questo episodio sono state tratte dal bellissimo libro Ada The
43:11
Enchantress of Numbers, ovviamente trovi tutti i link in descrizione.
43:16
Ringrazio poi Edoardo e Carlo che ormai sono sostenitori fissi da più di un anno, cosa
43:21
che mi fa capire che apprezzano veramente quello che faccio, a cui per questo episodio
43:27
si unisce anche Antonio Lazazzera.
43:30
Ti ricordo infatti che Pensieri in Codice è un podcast indipendente che si sostiene
43:35
grazie solo al mio impegno ed al supporto dei donatori.
43:39
Ultimamente ho persino eliminato la pubblicità per evitare scocciature e soprattutto per
43:44
minimizzare il tracciamento degli ascoltatori.
43:48
Quindi se vuoi contribuire anche tu, trovi tutti i dettagli sul sito pensieriincodice.it
43:53
e se doni almeno 10€ hai diritto a ricevere stickers e segnalibro, basta che mi fai avere
43:59
un indirizzo a cui spedirli. Detto questo credo che non ci sia altro, io quindi ti auguro buone feste, ti do appuntamento
44:07
al prossimo episodio con la raccomandazione di trascorrere un sereno Natale senza dimenticare
44:12
mai però che un informatico risolve problemi, a volte anche usando il computer.
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More