Podchaser Logo
Home
Ada Lovelace, La Prima Programmatrice Della Storia (Parte 3 Di 3)

Ada Lovelace, La Prima Programmatrice Della Storia (Parte 3 Di 3)

Released Tuesday, 26th December 2023
Good episode? Give it some love!
Ada Lovelace, La Prima Programmatrice Della Storia (Parte 3 Di 3)

Ada Lovelace, La Prima Programmatrice Della Storia (Parte 3 Di 3)

Ada Lovelace, La Prima Programmatrice Della Storia (Parte 3 Di 3)

Ada Lovelace, La Prima Programmatrice Della Storia (Parte 3 Di 3)

Tuesday, 26th December 2023
Good episode? Give it some love!
Rate Episode

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.

Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features