SlideShare a Scribd company logo
1 of 55
Charles Babbage e le sue macchine:
Difference Engine e Analytical Engine
1
Friend of
Pisa, 24 giugno 2017
www.cbi.umn.edu
Carlo Randone
carlornd@libero.it
carlo_randone@it.ibm.com
• Charles Babbage ed il contesto in cui visse e lavorò
• Una introduzione cronologica alle macchine di Charles Babbage
• I "Difference Engine"
• L' "Analytical Engine"
• Comparazione sintetica tra le caratteristiche delle macchine di Charles Babbage
• Ada Lovelace: “la prima programmatrice”
• Le "Macchine di Babbage" ai giorni nostri
• Documentazione e riferimenti specifici
Agenda
- C. Randone - 2
Intro
D.E.
A.E.
Ada
Now
Docs
• Charles Babbage nacque a Londra il 26 dicembre 1791
• Fin dagli studi giovanili dimostrò una propensione
all'algebra ed agli studi matematici, tanto da distinguersi
al Trinity College di Cambridge, dove entrò nel 1811.
• E' stato un matematico e filosofo, scienziato e "proto-
informatico" che per primo ebbe l'idea di un calcolatore
programmabile.
• Dal 1828 al 1839 occupò la cattedra lucasiana di
matematica a Cambridge, in Inghilterra.
• Nel mondo dell'informatica è conosciuto grazie alle sue
macchine: la Macchina alle differenze ("Difference
Engine"), di cui realizzò un prototipo (parziale) e la
Macchina analitica ("Analytical Engine").
Charles Babbage
- C. Randone - 3
Ritratto di C. Babbage,
pubblicato nel 1871 e ricavato da
una fotografia del 1860
• Nel 1833 incontrò Ada Lovelace (1815 - 1852), che negli anni successivi studiò le
macchine di Babbage e scrisse nel 1842-43 le famose "note" sulla macchina
analitica.
• Babbage morì a Londra, il 18 ottobre 1871, all'età di 79 anni.
Intro
Una sintesi delle attività di Charles Babbage sulle macchine da calcolo
- C. Randone - 4
"A timeline of Babbage’s life", da "The Evolution of Babbage’s Calculating Engines", di Allan Bromley
(1947–2002), IEEE Annals of the History of Computing, vol. 9, no. 2, 1987, pp. 113-136
(1822 - 1833)
(1834 - 1846)
(1847 - 1849)
(1856 - 1871)
Questa alternanza di
attività, unita al fatto che
furono progettati due
diversi "Difference
Engine", e che l'
"Analytical Engine" è
molto diverso dai
"Difference Engine", ha
contribuito a creare non
poca confusione circa le
cosiddette Macchine di C.
Babbage.
In questa presentazione si
parlerà prima dei due
Difference Engine, e poi
dell'Analytical Engine.
Intro
Macchine alle Differenze e Macchina Analitica: due "motori" molto diversi…
- C. Randone - 5
Come vedremo, le "Macchine alle Differenze" (Difference Engines) e la "Macchina
Analitica" (Analytical Engine) di Charles Babbage realizzano funzionalità e sono
ispirate a principi significativamente diversi:
• Le Macchine alle Differenze (DE) svolgono sostanzialmente un solo "algoritmo" o
processo di calcolo (pur se parametrizzabile), e cioè come vedremo quello delle
cosiddette "differenze finite" (o "differenze costanti") a supporto del calcolo di
funzioni polinomiali
• I principi di progettazione della Analytical Engine (AE) si prefiggevano invece di
risolvere un tema più ampio ed esteso: quello di un "motore analitico" in grado –
potenzialmente – di implementare un qualsivoglia algoritmo di calcolo; di essere
cioè – diremmo oggi – "programmabile".
Intro
DE: Algoritmo "cablato"
Input Output
AE: "Programma" + "CPU" (Mill)
Input Output
PRG
• Nel 1822 Charles Babbage propose lo sviluppo della macchina alle differenze in un
articolo inviato il 14 giugno alla Royal Astronomical Society e dal titolo "Note on the
application of machinery to the computation of very big mathematical tables". La
macchina avrebbe utilizzato il sistema decimale e sarebbe stata alimentata in modo
meccanico tramite il movimento di una maniglia che avrebbe fatto girare gli ingranaggi.
Macchina alle Differenze (Difference Engine) – La "Tables Crisis"
- C. Randone - 6
Von Vega – Tavola dei logaritmi (1794)
La produzione manuale di una
tavola dei logaritmi prevedeva:
• Calcolo manuali
• Trascrizione dei risultati
• Composizione tipografica
• Verifica
Con la macchina alle differenze
Babbage si proponeva di
risolvere contemporaneamente
tutte queste possibili fonti di
errore.
D.E.
• Il principio di funzionamento: metodo delle differenze finite
Consideriamo ad esempio il polinomio p(x) = 2x2 – 3x + 2
Supponendo di voler tabulati i valori p(0), p(1), p(2), p(3), p(4) ecc.:
Macchina alle Differenze (Difference Engine) – Metodo delle differenze finite
- C. Randone - 7
x p(x) = 2x2 − 3x + 2 diff1(x) = ( p(x+1) − p(x) ) diff2(x) = ( diff1(x+1) − diff1(x) )
0 2 -1 4
1 1 3 4
2 4 7 4
3 11 11
4 22
Si noti che il valore dell'ultima colonna è costante. Questo non è un caso: per ogni
polinomio di grado n la colonna n+1 contiene un valore che è costante; questo è
cruciale per il funzionamento della Macchina alle differenze.
5
4
15
37
D.E.
• Il governo britannico inizialmente finanziò il progetto, ma in seguito, quando nel 1842
ricevette da Babbage la richiesta di nuovi fondi nonostante lo sviluppo della macchina
sembrasse a un punto morto, decise di abbandonarlo. Nel frattempo aveva comunque
già speso una cifra pari a 17.470 sterline (circa venti volte maggiore la spesa per una
locomotiva a vapore). Sulla decisione di abbandono del progetto influì, inoltre,
l'opinione negativa sull'utilità della macchina espressa dall'astronomo reale George
Biddell Airy.
Macchina alle Differenze (Difference Engine) n. 1
- C. Randone - 8
• Il dispositivo, secondo il progetto, avrebbe
dovuto essere di una notevole complessità e
di grandi dimensioni strutturali: basti
pensare che richiedeva l'assemblaggio di
25.000 parti (di cui circa 12.000 per la
"stampante") e la macchina completa
sarebbe stata alta circa due metri e mezzo,
larga due metri e profonda uno, con un peso
di varie tonnellate.
Disegno per il Difference
Engine n.1, 1830
D.E.
Macchina alle Differenze (Difference Engine) n. 1 (Portion) – Science Museum, London
- C. Randone - 9
Parte ("portion" o "the beautiful
fragment") del Difference Engine (n. 1),
assemblata nel 1832 dall'ingegnere
Joseph Clement, che lavorava con
Babbage per la costruzione dei
componenti delle macchine.
Costituisce circa un settimo della
macchina completa.
La realizzazione di questo prototipo
rappresenta comunque un passo
importante, in quanto la facoltà umana e
mentale del "calcolare" viene portata a
livello meccanico, e l'operatore non deve
necessariamente conoscere il
comportamento interno della macchina
ed i principi matematici su cui è basata,
per ottenerne facilmente dei risultati
utilizzabili ed affidabili.
"The marvelous pulp and fibre of the brain had been substituted by
brass and iron, he [Babbage] had taught wheelwork to think, or at least
to do the office of thought."
[La meravigliosa polpa e le fibre del cervello erano state sostituite da ottone e ferro,
egli [Babbage] aveva insegnato a pensare agli ingranaggi, o almeno a svolgere l'ufficio
del pensiero]
Harry Wilmot Buxton (1843-1911), nella biografia di C. Babbage intitolata
"Memoir of the Life and Labours of the Late Charles Babbage", del 1870
(pubblicata solo nel 1988 da MIT Press)
Parte del Difference Engine n.1 (Science Museum, Londra)
D.E.
Un video sull'uso del "beautiful fragment" (da 2:14 in poi):
https://www.youtube.com/watch?v=QVxbNZWLP60
Macchina alle Differenze (Difference Engine) n. 1 (Portion replica) – IBM, Milano
- C. Randone - 10
Una replica in scala 3/4 della sezione ("portion") del Difference Engine del 1832 è esposta
all'IBM Forum di Segrate (MI). Fa parte di una serie di repliche costruite nel 1980 per la
mostra IBM "A Calculator Chronicle: 300 Years of Counting and Reckoning Tools", tenutasi a
New York nel 1981, ed è stato uno dei pochi esemplari poi inviati a vari uffici IBM in quel
periodo. Altre copie di questo tipo sono esposte in alcuni musei nel mondo.
D.E.
Una replica simile è esposta anche al Museo
Nazionale della Scienza e Tecnologia "Leonardo Da
Vinci" di Milano.
(http://www.museoscienza.org/dipartimenti/catalogo_collezioni/scheda_oggetto.as
p?idk_in=ST120-00193&arg=Macchine%20da%20calcolo)
Macchina alle Differenze (Difference Engine) n. 1 (Portion) – Science Museum, London
- C. Randone - 11
Il disegno qui utilizzato è
quello del prototipo del
D.E. n. 1 del 1832/1833,
così come riportato in
"Passages from the life of
a phylosopher" del 1864.
Le note operative
riportate sono tratte dal
"Chapter V"dello stesso
testo (sezione
"Description of the
existing portion of
Difference Engine No. 1").
Unità
Decine
Centinaia
Migliaia
Decine di Migliaia
T T = valore di f(x)12
"Table column"
"First Difference column"
"Second Difference column"
Singolorisultatotabulato(T)
Singoladifferenzadiordine1
Singoladifferenzadiordine2
"Cages"
D.E.
COSTANTE!
• Babbage, durante e dopo la progettazione della prima macchina alle differenze, aveva
lavorato alla più complessa Macchina analitica (descritta nel seguito). L'esperienza dello
sviluppo di quest'ultima gli aveva permesso di migliorare il progetto della Macchina alle
differenze e di svilupparne una seconda versione ("Second Difference Engine" o "D.E.
no. 2") tra il 1847 e il 1849.
• Questa versione prevedeva circa 8.000 parti (di cui 4.000 per la sola "stampante").
Macchina alle Differenze (Difference Engine) n. 2
- C. Randone - 13
Difference Engine n.2
Progetto del meccanismo di stampa
(Science Museum Library Babbage Papers,
drawing BAB [A] 173, “Plan of Inking Printing
& Stereotype Apparatus,” undated)
D.E.
Macchina alle Differenze (Difference Engine) n. 2
- C. Randone - 14
Design drawing: Difference Engine No. 2 (1847). Main elevation showing crank handle
(right), calculating section (center), and output apparatus (left). Science Museum Library
Babbage Papers, drawing BAB [A] 163, “Elevation for Difference Engine No. 2.” (Science
Museum, London)
~ 3,4 m
~ 2,1 m
D.E.
• Ispirandosi al progetto di Babbage, Per Georg Scheutz (1785-1873) costruì diverse
Macchine alle differenze a partire dal 1855; una di queste venne venduta al governo
Britannico nel 1859. Martin Wiberg (1826-1905) migliorò le macchine di Scheutz e le
utilizzò per produrre delle tavole logaritmiche che poi pubblicò.
• Basandosi sui progetti originali di Babbage lo Science Museum di Londra costruì una
copia funzionante della seconda versione della Macchina alle differenze. Questa venne
realizzata sotto la supervisione di Doron Swade che seguì il progetto tra il 1989 e il
1991.
• Nel 2000 venne realizzata anche la stampante che, ricevuti i dati dalla Macchina alle
differenze, ne permette la riproduzione su carta.
• La trascrizione dei disegni originali in disegni utilizzabili per la realizzazione dei
componenti mostrò che Babbage aveva commesso alcuni errori minori di
progettazione, ma nulla che potesse inficiare dal punto di vista logico il funzionamento
della macchina.
• La Macchina alle differenze e la stampante vennero costruite con i materiali e le
tolleranze disponibili nel XIX secolo e questo permise di dimostrare che il progetto di
Babbage, se fosse stato finanziato e gestito adeguatamente, avrebbe potuto realmente
portare alla realizzazione di una macchina funzionante.
Macchina alle Differenze (Difference Engine) n. 2 – Gli sviluppi successivi …
- C. Randone - 15
D.E.
Macchina alle Differenze (Difference Engine) n. 2 – Science Museum, London (1991)
- C. Randone - 16
Doron Swade
D.E.
Macchina alle Differenze (Difference Engine) n. 2 – Computer History Museum (CA)
- C. Randone - 17
Dopo quella costruita nel 1991 allo Science Museum di Londra (con il meccanismo di
stampa terminato nel 2001), è stata realizzata nel 2008 una seconda copia del Difference
Engine n. 2, per Nathan Myhrvold , ex Chief Technology Officer in Microsoft.
Questa copia è esposta ("in prestito") al Computer History Museum
(http://www.computerhistory.org/) di Mountain View, in California, dal 2008.
Quello che segue è un video di questa installazione.
http://www.youtube.com/watch?v=tmmh7E8n0FY
D.E.
• Babbage, già durante lo sviluppo del suo primo progetto, la macchina alle differenze, si
era reso conto di poter ideare una macchina generica molto più potente e interessante
dal punto di vista pratico. Una macchina, cioè, che non si limitasse solo a sviluppare dei
calcoli matematici, ma che potesse elaborare complessi "ragionamenti". Chiamò
quest'ultimo sistema, appunto, Macchina analitica. Inizio a lavorarci dal 1834-35.
• La prima descrizione abbastanza dettagliata del progetto fu pubblicata il 26 dicembre
del 1837.
• La Macchina analitica doveva essere alimentata da un motore a vapore e doveva essere
lunga più di 30 metri per 10 metri di profondità. I dati d'ingresso e il programma
sarebbero stati inseriti tramite schede perforate, un metodo già utilizzato per
programmare i telai meccanici dell'epoca e che sarà utilizzato in seguito anche nei primi
computer. I dati di uscita sarebbero stati prodotti da una stampante e da una sorta di
"plotter". La macchina sarebbe stata in grado di perforare delle schede per
memorizzare dei dati da utilizzare successivamente, e utilizzava un'aritmetica in base 10
a virgola fissa. La memoria interna ("store") sarebbe stata in grado di contenere da 100
a 1000 numeri di 40 cifre. La componente "Mill", che costituiva l'idea di base dell'unità
aritmetica e logica (ALU) presente nelle moderne CPU, sarebbe stata in grado di
svolgere le quattro operazioni aritmetiche.
Macchina Analitica (Analytical Engine)
- C. Randone - 18
A.E.
Il "riporto anticipato" ("anticipating
carriage") è un meccanismo complesso, e
con esso Babbage abbandonò l'idea
(risalente al Difference Engine) di avere assi
di memorizzazione ("storage axes") parti
integranti del meccanismo di calcolo.
Invece, separò la parte della macchina che
memorizza i numeri, che chiamò il
"magazzino" ("store"), dalla parte che
effettua il calcolo, che chiamò "mulino"
("mill").
[Macchine "moderne" come l'ENIAC e
l'Harvard Mark I, non hanno esplicitamente
implementato questa netta distinzione, e
ogni elemento di memorizzazione era anche
una adding unit (*)]
Macchina Analitica (Analytical Engine) – "Anticipating carriage"
- C. Randone - 19
A.E.
(*) Si veda anche l'articolo "The Evolution of Babbage’s Calculating Engines" di Allan G. Bromley, Annals of the
History of Computing, Volume 9, Number 2, 1987, pagina 121
• Babbage presentò l'idea di Macchina Analitica al Secondo Congresso degli Scienziati
Italiani, svoltosi a Torino nel settembre del 1840 (si veda anche:
http://www.accademiadellescienze.it/storiaescienza/dossier/charles_babbage_e_l_acc
ademia_delle_scienze_3585 e http://nexa.polito.it/macchina-analitica-babbage)
• Babbage fu invitato in Italia da Giovanni Plana (1781-1864), matematico ed astronomo,
autorevole membro dell'Accademia delle Scienze. Plana trasferì il compito di descrivere
la macchina analitica ad un suo giovane e brillante collaboratore, Luigi Federico
Menabrea (1809-1896).
• Menabrea nel 1840 partecipa agli incontri dei membri dell'Accademia delle Scienze con
Charles Babbage e due anni dopo presenta alla Biblioteque Universelle de Geneve la
famosa nota "Notions sur la Machine Analytique de M. Charles Babbage".
• Successivamente, nel 1843, il suo lavoro fu tradotto in inglese e significativamente
ampliato da Ada Lovelace (1815-1852) con le sue famose "notes" nella pubblicazione
"Sketch of the Analytical Engine invented by Charles Babbage".
• In queste "notes" di Ada Lovelace è compreso (alla "Note G") quello che è considerato il
primo programma informatico della storia, un algoritmo per il calcolo dei numeri di
Bernoulli.
Charles Babbage a Torino (1/3)
- C. Randone - 20
A.E.
Torino, 1840
Charles Babbage a Torino (2/3)
- C. Randone - 21
Luigi Federico Menabrea
(1809 - 1896)
• In segno di apprezzamento e di riconoscenza
per l’attenzione ricevuta da parte di
Menabrea e degli altri amici torinesi,
Babbage offrì loro tutto il corredo di disegni
progettuali che aveva portato con sé da
Londra; questo prezioso lascito è tuttora
conservato presso l’Archivio dell’Accademia
delle Scienze di Torino.
A.E.
• I legami di Charles Babbage con il Regno di Sardegna rimasero stretti. Nel 1864 dedicò
la sua autobiografia ("Passages from the life of a philosofer", del 1862) a Vittorio
Emanuele II, ormai Re d'Italia (dal 1861).
• Sul frontespizio del volume l'autore ricorda la sua onorificenza di Commendatore
dell'Ordine Italiano di San Maurizio e San Lazzaro: nella prima pagina, in grande
evidenza, vi è la dedica del volume a Vittorio Emanuele II, figlio di Carlo Alberto:
"Sire,
nel dedicare questo volume a sua Maestà, io compio un atto di giustizia nei confronti
della memoria di del Vostro illustre Padre.
Nel 1840 il re Carlo Alberto invitò i saggi d'Italia a riunirsi nella sua capitale. Su invito
del suo più grande matematico, io portai con me i disegni e le spiegazioni dell'Analytical
Engine. Essi furono ampiamente discussi e la loro validità fu riconosciuta dai più eletti
figli d'Italia.
Al Re, Vostro Padre, io devo il primo riconoscimento pubblico ed ufficiale di questa
invenzione.
Sono lieto di esprimere la mia riconoscenza a Suo Figlio, il Sovrano dell'Italia unita, il
Paese di Archimede e Galileo".
Charles Babbage a Torino (3/3)
- C. Randone - 22
A.E.
Analytical Engine – Linea temporale dei principali "Plans"
- C. Randone - 23
From "The Evolution of Babbage's Calculating Engines", A. G. Bromley, Annals of the History of Computing, Volume 9, Number 2, 1987
A.E.
A Torino nel 1840
Babbage presentò vari
disegni della Macchina
Analitica, tra cui il
"Plan 25".
Macchina Analitica (Analytical Engine) – "Plan 25", 1840
- C. Randone - 24
Plan of the general arrangement of the Analytical Engine ("Plan 25", 1840).
~ 70 cm
Operation Cards Variable Cards
Number Cards
(~ 5 metri di alt.)
A.E.
Macchina Analitica (Analytical Engine) – I due livelli di controllo
- C. Randone - 25
Babbage individuò almeno due diversi "livelli di controllo" per la sua Macchina Analitica:
• Un livello più alto (diremmo "user level") supportato da una "programmazione" con
schede perforate
• Un livello più tecnico ed interno alla macchina, supportato da cosiddetti "barrel" con la
codifica (diremmo oggi in termini di "microprogramma") delle operazioni
fondamentali (es: addizione, sottrazione, moltiplicazione e divisione)
A.E.
Macchina Analitica (Analytical Engine) – L'idea delle "schede perforate"
- C. Randone - 26
Per l'I/O e la "programmazione" della Macchina Analitica, Babbage pensò di utilizzare
delle "schede perforate", riutilizzando l'idea alla base dei telai Jacquard (inventati nei
primi anni dell'ottocento da Joseph Marie Jacquard) per la realizzazione di disegni
complessi .
A.E.
Nei disegni di Babbage sono raffigurati tre tipi di schede:
• le Number Cards, con le quali si immettono nella MA i dati iniziali del calcolo, designati
come Primitive Data; la MA può anche "scrivere" delle card con i risultati
• le Operation Cards, ciascuna delle quali comanda l’esecuzione di una operazione
aritmetica; sono previste anche delle Combinatorial Cards per supportare salti e cicli
• le Variable Cards, che indicano l’indirizzo dei registri di memoria, chiamati Columns,
ove prelevare gli argomenti e depositare il risultato di ciascuna operation.
L’insieme di una Operation Card e delle Variable Cards ad essa associate corrisponde
concettualmente a una “istruzione” degli odierni computer, così come la sequenza delle
istruzioni corrisponde al nostro “programma”.
Macchina Analitica (Analytical Engine) – Le "card" (1/2)
- C. Randone - 27
A.E.
Macchina Analitica (Analytical Engine) – Le "card" (2/2)
- C. Randone - 28
Delle "card" per l'Analytical Engine
A.E.
Schede perforate degli anni 1960-1970
- C. Randone - 29
A.E.
Nastri perforati degli anni 1950-1970
- C. Randone - 30
Le schede che Babbage aveva in mente per la sua Macchina Analitica erano "legate"
l'una all'altra (sullo stile del telaio Jaquard), rendendo questo tipo di supporto di
memoria forse più simile ad un nastro perforato ("punched tape") che a delle schede
perforate come quelle illustrate nella slide precedente.
A.E.
Macchina Analitica (Analytical Engine) – I "microprogrammi"
- C. Randone - 31
Schema della "microprogrammazione" della Macchina Analitica, tratto da "Charles
Babbage’s Analytical Engine, 1838", A. G. Bromley, Annals of the History of Computing,
vol. 4, no. 3, July 1982, pp. 196-218.
A.E.
Analytical Engine – Meccanismo di controllo sui "barrel" (microprogrammazione)
- C. Randone - 32
Una "parola" di
microprogramma (un "passo")
è rappresentata da una fila
verticale di perni avvitati al
cilindro. Questi perni agiscono
sulle estremità delle leve di
comando quando il cilindro si
muove (trasla) lateralmente.
I "reducing sector" di uno, due
e quattro denti fanno ruotare il
cilindro di un corrispondente
numero di "passi" verticali, e
possono anche agire in
combinazione in una sola volta.
A.E.
"Reducing sectors"
Macchina Analitica (Analytical Engine) – Schema a blocchi
- C. Randone - 33
CPU ("Mill") and Memory
("Store")
Primary Storage
1,000 40 – digit numbers
ALU
< > = + - x ÷
Control Unit
Output
Cards / Printer
Input
Cards
Secondary Storage
Data on Cards
Nota: Una macchina "moderna" con caratteristiche architetturali simili all'Analytical Engine
è il calcolatore elettromeccanico Automatic Sequence Controlled Calculator (ASCC) di
Howard Aiken (noto anche come IBM-Harvard Mark 1), del 1944. Nella progettazione del
Mark 1, Aiken (forse…) fu influenzato dai lavori di Babbage.
A.E.
Macchina Analitica (Analytical Engine) – Terminologia…
- C. Randone - 34
Babbage Analytical Engine Contemporary Computer
Axis Buffer / register
Barrel Microcode
Card (generic) Instruction
Carriage Carry propagation
Curve Drawing Apparatus Plotter
Column (of Rack) Memory (RAM) cell
Cycle Loop
Mill Arithmetic and Logical Unit (ALU)
Rack (of Columns) Random Access Memory (RAM)
Store Memory (RAM) Array / Storage
Turn of the Handle Clock cycle
E' possibile stabilire una significativa correlazione tra i vocaboli utilizzati da Babbage nel
descrivere la sua Macchina Analitica e la moderna terminologia informatica. Eccone
alcuni esempi:
A.E.
Il termine "Plan" utilizzato da
Babbage veicola due significati.
In primo luogo rappresenta i
disegni relativi alla disposizione
fisica degli assi e delle altre parti
della macchina.
In secondo luogo, distintamente, i
"plan" rappresentano anche
l'architettura logica della
macchina, un significato che è
andato assumendo via via
maggior enfasi dal 1835 in poi.
Macchina Analitica (Analytical Engine) - Timeline
- C. Randone - 35
Tratto da "The Evolution of Babbage’s Calculating Engines", A. G. Bromley, Annals of the History of Computing, vol. 9,
no. 2, 1987, pp. 113-136
A.E.
Macchina Analitica (Analytical Engine) – "Plan 28", 1842 (first arrangement)
- C. Randone - 36
"Plan 28" dell'Analytical Engine (rif. "A.118 Figure 9"), datato 8 Dicembre 1842
A.E.
Rack (the "BUS")
A couple of
Store Axes
The Mill
Stepping numbers
up or down
General storage
purposes
Anticipating carriage
Figure
Axes
Macchina Analitica (Analytical Engine) – "Plan 28", 1843-1846
- C. Randone - 37
Da "The Evolution of Babbage's Calculating Engines", A. G. Bromley, Annals of the History of Computing, Volume 9, Number 2, 1987
Una diversa rappresentazione
del Plan 28 dell'Analytical
Engine. Questo disegno è stato
assemblato partendo da
diversi disegni del periodo
1843 - 1846.
L'architettura qui sintetizzata è
sostanzialmente più semplice
di quelle dei progetti
precedenti (ad es. del Plan 25).
A.E.
Macchina Analitica (Analytical Engine) – Disposizione "a griglia" (1858) (ridisegnato)
- C. Randone - 38
Crystal Palace, Esposizione Universale del 1851, Londra
A.E.
Macchina Analitica (Analytical Engine)
- C. Randone - 39
Una parte del "mill" della Macchina Analitica, in costruzione nel 1871, alla morte di
Babbage. Science Museum, London
A.E.
Macchina Analitica (Analytical Engine)
- C. Randone - 40
Una ulteriore realizzazione di parte della macchina analitica ("mill" e meccanismo di
stampa) realizzata nel 1910 dal figlio Henry Prevost Babbage. Science Museum, London
A.E.
Macchina Analitica (Analytical Engine)
- C. Randone - 41
Una ipotetica rappresentazione di fantasia della "Macchina Analitica", come sarebbe
potuta apparire se fosse stata costruita nella seconda metà dell'800 (disegno
parzialmente basato su alcuni elementi del "Plan 25" e del "Plan 28" dell'Analytical
Engine):
http://scientificillustration.tumblr.com/image/22977242992
A.E.
Comparazione sintetica tra le caratteristiche delle Macchine di Charles Babbage
- C. Randone - 42
Caratteristica Difference Engine n. 1 Difference Engine n. 2 Analytical Engine
Periodo di sviluppo 1822-1833 1847-1849 1834-1846 e 1856-1871
Numero totale di
parti
25.000
(di cui circa 12.000 per la
stampante)
8.000
(di cui circa 4.000 per la stampante)
Non definito.
(La stampante prevista è la
stessa del D.E. n. 2)
Sistema numerico Decimale Decimale Decimale
Capacità e
Precisione
6 assi da 12 (o 16, o 18) cifre 8 assi da 31 cifre >100 assi (fino a 1000) da 30 o
40 o 50 cifre
Gestione numeri
negativi
Complemento a 10 Complemento a 10 Segno-grandezza per l'I/O, con
rappresentazione interna in
complemento a 10
Gestione riporti Sequenziale Sequenziale (ottimizzata) Anticipating carriage
Programmazione Sequenza delle operazioni (di
somma) precodificata su
camme
Sequenza delle operazioni (di
somma) precodificata su 14 coppie
di camme
Microprogrammazione su
"barrel" e programmazione
"utente" tramite schede perforate
Realizzazioni Una parte (funzionante) grande
circa un settimo della macchina
completa fu assemblata nel
1832. In quella data erano già
state costruite (ma non furono
mai assemblate) più di 10.000
parti.
Da Babbage furono realizzate solo
alcune parti dimostrative. Partendo
dai disegni di Babbage, la macchina
fu realizzata nel 1991 allo Science
Museum di Londra (il meccanismo di
stampa nel 2001). Una seconda
copia completa fu realizzata per il
Computer Museum di Mountain View
in California nel 2008.
Una parte (semplificata) del
"mill" era in fase di realizzazione
nel 1871. Una ulteriore
realizzazione parziale del
meccanismo di calcolo e stampa
fu realizzata nel 1910 da Henry
Prevost Babbage, figlio di
Charles.
Iniziativa http://plan28.org/.
A.E.
Ada Lovelace (10/12/1815 - 27/11/1852)
- C. Randone - 43
Augusta Ada Byron, meglio nota come Ada Lovelace, nome
che assunse dopo il matrimonio con William King, Conte di
Lovelace, è stata una matematica inglese, nota soprattutto per
il suo lavoro alla Macchina analitica ideata da Charles Babbage.
Ada fu la sola figlia legittima del poeta Lord Byron e della
matematica Anne Isabella Milbanke, e non ebbe alcuna
relazione con il padre, che morì quando lei aveva solo 9 anni.
Fin da giovane s’interessò alle scienze matematiche, e in particolare al lavoro di Babbage
(che incontrò per la prima volta nel 1833) sulla macchina analitica. Tra il 1842 e il 1843
tradusse un articolo del matematico italiano Luigi Menabrea sulla macchina, che incrementò
con un insieme dei suoi appunti. Questi studi contenevano quello che oggi viene considerato
da alcuni come il primo programma di computer.
Ada Lovelace aveva previsto la capacità dei computer di andare al di là dal mero calcolo
numerico, mentre altri, incluso lo stesso Babbage, si focalizzarono soltanto su queste
capacità.
Dal calcolo
(numerico) …
… alla
computazione
e manipolazione
di simboli
The "Lovelace Leap"
Ada
• Il "programma" per Analytical Engine scritto da Ada Lovelace ("Note G") (1843)
Ada Lovelace – "Programma " per la Macchina Analitica (Analytical Engine)
- C. Randone - 44
Ada
Ada Lovelace (10/12/1815 - 27/11/1852)
- C. Randone - 45
"We may say most aptly, that the Analytical Engine
weaves algebraic patterns, just as the Jacquard loom
weaves flowers and leaves."
Ada Lovelace
("Possiamo dire più giustamente che la macchina analitica tesse
modelli algebrici, proprio come il telaio Jacquard tesse fiori e foglie.")
Da: "Sketch of The Analytical Engine - Invented by Charles Babbage"
By L. F. MENABREA, of Turin, Officer of the Military Engineers
from the Bibliothèque Universelle de Genève, October, 1842, No. 82
With notes upon the Memoir by the Translator
ADA AUGUSTA, COUNTESS OF LOVELACE
(http://www.fourmilab.ch/babbage/sketch.html)
Ada
• Nel 1878, sette anni dopo la morte di C. Babbage, il comitato della British Association
for the Advancement of Science si pronunciò contro la costruzione della macchina
analitica (http://www.fourmilab.ch/babbage/baas.html) e questo vanificò le speranze di
Henry Prevost Babbage (figlio di Charles, 1824-1918) di poter accedere a sovvenzioni
governative.
• Oggi, l'iniziativa "Plan 28" (http://plan28.org/) del programmatore e scrittore John
Graham-Cumming si ripropone di costruire un modello (prima simulato al computer, e
poi "fisico") dell'Analytical Engine.
Macchina Analitica (Analytical Engine) – Iniziativa "Plan 28"
- C. Randone - 46
John Graham-Cumming
Now
Macchina Analitica (Analytical Engine) – Sydney Padua
- C. Randone - 47
Un'altra ipotetica rappresentazione di fantasia della "Macchina Analitica", come sarebbe potuta apparire
se fosse stata costruita nella seconda metà dell'800 (disegno di Sydney Padua, basato principalmente sul
Plan 25):
http://www.theguardian.com/technology/gallery/2015/apr/12/thrilling-adventures-lovelace-babbage-in-
pictures#img-6
Now
Sydney Padua
- C. Randone - 48
Sydney Padua (sydneypadua.com) è una grafica e
disegnatrice che lavora soprattutto nel mondo
dell’animazione cinematografica.
E' autrice del libro "The Thrilling Adventures of Lovelace
and Babbage" (http://sydneypadua.com/2dgoggles/the-
book.
Una "gallery" di video realizzati da Sydney Padua sulle
macchine di Babbage (in particolare relativi all'Analytical
Engine) sono disponibili a partire dal sito:
https://www.youtube.com/user/sydpadua/videos
Now
La Macchina Analitica (Analytical Engine) nella fantascienza
- C. Randone - 49
William Gibson e Bruce Sterling sono stati coautori (nel 1990) del romanzo intitolato La
macchina della realtà (The Difference Engine). In questo romanzo, ambientato nella
Londra del 1855, si esplora un passato alternativo in cui la Macchina analitica è stata già
costruita e la sua realtà, unita a quella della Rivoluzione industriale, ormai avviata,
influenza notevolmente i personaggi e le scene dell'era vittoriana.
Now
Copertine di una
edizione italiana e di
una inglese del libro di
W. Gibson e B. Sterling.
Una interessante documentazione…
- C. Randone - 50
"Ada Byron e la Macchina Analitica",
Giuseppe O. Longo, Corrado Bonfanti
Mondo Digitale n. 2, giugno 2008
http://archivio-
mondodigitale.aicanet.net/Rivista/08_numero
_2/Longo p. 35-45.pdf
e
http://nid.dimi.uniud.it/history/papers/longo_
bonfanti_08.pdf
Sempre in italiano, si
veda anche:
M. G. Losano (a cura
di), Babbage.
La macchina analitica:
un secolo di calcolo
automatico,
Etas Kompass Libri,
Milano, 1973.
Docs
Altre interessanti (e recenti…) documentazioni in italiano (1/2)
- C. Randone - 51
Silvio Hénin, "Augusta Ada Lovelace (1815 - 1852)"
Mondo Digitale, ANNO XIV N.57, Aprile 2015
http://mondodigitale.aicanet.net/2015-2/articoli/03_Augusta_Ada_Lovelace.pdf
Mario G. Losano, "La macchina analitica di Babbage: un fossile che viene dal futuro"
Diritto dell’informazione e dell’informatica, 2015, n.1, pp. 1-42.
http://rivoluzionedigitale.polito.it/rdfiles/Babbage-Prefazione-DirInf.pdf
Mario G. Losano, "La macchina da calcolo di Babbage a Torino",
Accademia delle Scienze di Torino - I Libri dell’Accademia, vol. 10, 2015, ISBN: 9788822263827
Casa Editrice Olschki, Firenze, 2015
http://www.olschki.it/libro/9788822263827
NB: questo testo riprende ed aggiorna il volume
di Losano del 1973: "Babbage: la macchina analitica. Un
secolo di calcolo automatico" (Etas Kompass,
Milano 1973) già precedentemente citato
Docs
Altre interessanti (e recenti…) documentazioni in italiano (2/2)
- C. Randone - 52
Silvio Hénin, "Il computer dimenticato – Charles Babbage, Ada
Lovelace e la ricerca della macchina perfetta", HOEPLI, 2015
http://www.hoepli.it/libro/il-computer-
dimenticato/9788820370442.html
Docs
Libri e documenti digitali presso l'Accademia delle
Scienze di Torino:
http://www.accademiadellescienze.it/TecaRicerca
Una monografia sulle macchine di C. Babbage
- C. Randone - 53
Nel 2010 l'IEEE ha curato una interessante e completa raccolta di articoli sulle macchine di
Babbage, che costituisce un ottimo punto di partenza per approfondire l'argomento:
Docs
La raccolta contiene tra gli altri
diversi articoli di Allan Bromley
(1947–2002) , riconosciuto
studioso delle macchine di
Babbage.
Dove trovare alcune delle "migliori" descrizioni tecniche dell' "Analytical Engine" ?
- C. Randone - 54
Una delle migliori descrizioni dell' Analytical Engine è contenuti nell'articolo "On the Mathematical
Powers of the Calculating Engine" (1837), contenuto ad esempio nel volume di Randell "The
Origins of Digital Computers", del 1973.
Questa fonte va ad integrazione delle già
citate "notes" di Ada Lovelace in "Sketch of
the Analytical Engine invented by Charles
Babbage", pubblicate ad es. in "Charles
Babbage. On the Principles and
Development of the Calculator and Other
Seminal Writings by Charles Babbage and
Others", Edited by P. Morrison and E.
Morrison, Dover Publications
Docs
Altri link e libri di riferimento su Babbage e le sue macchine
- C. Randone - 55
Sito "The Analytical Engine", di John Walker:
http://www.fourmilab.ch/babbage/contents.html
Libro "Charles Babbage and the Engines of Perfection", J. H. MacLachlan, B. Collier:
http://www.amazon.com/Charles-Babbage-Engines-Perfection-Portraits/dp/0195089979
Libro "Charles Babbage: Pioneer of the Computer", A. Hyman:
http://www.amazon.com/Charles-Babbage-Computer-Anthony-Hyman/dp/0691083037
Docs
Il "Charles Babbage Institute" (CBI)
- C. Randone - 56
Il Charles Babbage Institute (CBI, http://www.cbi.umn.edu/) è un
istituto di ricerca presso l'Università del Minnesota, specializzato nella
storia dell'information technology, in particolare la storia degli
elaboratori digitali, dei linguaggi e della programmazione, e delle reti, a
partire dal 1935. L'istituto prende il nome da Charles Babbage, ed è
situato presso la Elmer L. Andersen Hall alla University of Minnesota
Libraries, in Minneapolis, Minnesota.
Gli "IEEE Annals of the History of Computing"
Gli "Annals of the History of Computing"
(https://www.computer.org/annals/) dal 1979 sono una
pubblicazione specializzata sulla storia delle tecnologie per il
trattamento dell'informazione. Dal 1992 rientrano nell'ambito
delle pubblicazioni dell'IEEE.
In figura, il numero monografico di ottobre-dicembre 2000 con
gli importanti studi di Allan Bromley (1947-2002) sulla
macchina analitica.
Docs

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Steamcon 2017 - Charles Babbage e le sue macchine - Ita - Carlo Randone - 24 giu 2017

  • 1. Charles Babbage e le sue macchine: Difference Engine e Analytical Engine 1 Friend of Pisa, 24 giugno 2017 www.cbi.umn.edu Carlo Randone carlornd@libero.it carlo_randone@it.ibm.com
  • 2. • Charles Babbage ed il contesto in cui visse e lavorò • Una introduzione cronologica alle macchine di Charles Babbage • I "Difference Engine" • L' "Analytical Engine" • Comparazione sintetica tra le caratteristiche delle macchine di Charles Babbage • Ada Lovelace: “la prima programmatrice” • Le "Macchine di Babbage" ai giorni nostri • Documentazione e riferimenti specifici Agenda - C. Randone - 2 Intro D.E. A.E. Ada Now Docs
  • 3. • Charles Babbage nacque a Londra il 26 dicembre 1791 • Fin dagli studi giovanili dimostrò una propensione all'algebra ed agli studi matematici, tanto da distinguersi al Trinity College di Cambridge, dove entrò nel 1811. • E' stato un matematico e filosofo, scienziato e "proto- informatico" che per primo ebbe l'idea di un calcolatore programmabile. • Dal 1828 al 1839 occupò la cattedra lucasiana di matematica a Cambridge, in Inghilterra. • Nel mondo dell'informatica è conosciuto grazie alle sue macchine: la Macchina alle differenze ("Difference Engine"), di cui realizzò un prototipo (parziale) e la Macchina analitica ("Analytical Engine"). Charles Babbage - C. Randone - 3 Ritratto di C. Babbage, pubblicato nel 1871 e ricavato da una fotografia del 1860 • Nel 1833 incontrò Ada Lovelace (1815 - 1852), che negli anni successivi studiò le macchine di Babbage e scrisse nel 1842-43 le famose "note" sulla macchina analitica. • Babbage morì a Londra, il 18 ottobre 1871, all'età di 79 anni. Intro
  • 4. Una sintesi delle attività di Charles Babbage sulle macchine da calcolo - C. Randone - 4 "A timeline of Babbage’s life", da "The Evolution of Babbage’s Calculating Engines", di Allan Bromley (1947–2002), IEEE Annals of the History of Computing, vol. 9, no. 2, 1987, pp. 113-136 (1822 - 1833) (1834 - 1846) (1847 - 1849) (1856 - 1871) Questa alternanza di attività, unita al fatto che furono progettati due diversi "Difference Engine", e che l' "Analytical Engine" è molto diverso dai "Difference Engine", ha contribuito a creare non poca confusione circa le cosiddette Macchine di C. Babbage. In questa presentazione si parlerà prima dei due Difference Engine, e poi dell'Analytical Engine. Intro
  • 5. Macchine alle Differenze e Macchina Analitica: due "motori" molto diversi… - C. Randone - 5 Come vedremo, le "Macchine alle Differenze" (Difference Engines) e la "Macchina Analitica" (Analytical Engine) di Charles Babbage realizzano funzionalità e sono ispirate a principi significativamente diversi: • Le Macchine alle Differenze (DE) svolgono sostanzialmente un solo "algoritmo" o processo di calcolo (pur se parametrizzabile), e cioè come vedremo quello delle cosiddette "differenze finite" (o "differenze costanti") a supporto del calcolo di funzioni polinomiali • I principi di progettazione della Analytical Engine (AE) si prefiggevano invece di risolvere un tema più ampio ed esteso: quello di un "motore analitico" in grado – potenzialmente – di implementare un qualsivoglia algoritmo di calcolo; di essere cioè – diremmo oggi – "programmabile". Intro DE: Algoritmo "cablato" Input Output AE: "Programma" + "CPU" (Mill) Input Output PRG
  • 6. • Nel 1822 Charles Babbage propose lo sviluppo della macchina alle differenze in un articolo inviato il 14 giugno alla Royal Astronomical Society e dal titolo "Note on the application of machinery to the computation of very big mathematical tables". La macchina avrebbe utilizzato il sistema decimale e sarebbe stata alimentata in modo meccanico tramite il movimento di una maniglia che avrebbe fatto girare gli ingranaggi. Macchina alle Differenze (Difference Engine) – La "Tables Crisis" - C. Randone - 6 Von Vega – Tavola dei logaritmi (1794) La produzione manuale di una tavola dei logaritmi prevedeva: • Calcolo manuali • Trascrizione dei risultati • Composizione tipografica • Verifica Con la macchina alle differenze Babbage si proponeva di risolvere contemporaneamente tutte queste possibili fonti di errore. D.E.
  • 7. • Il principio di funzionamento: metodo delle differenze finite Consideriamo ad esempio il polinomio p(x) = 2x2 – 3x + 2 Supponendo di voler tabulati i valori p(0), p(1), p(2), p(3), p(4) ecc.: Macchina alle Differenze (Difference Engine) – Metodo delle differenze finite - C. Randone - 7 x p(x) = 2x2 − 3x + 2 diff1(x) = ( p(x+1) − p(x) ) diff2(x) = ( diff1(x+1) − diff1(x) ) 0 2 -1 4 1 1 3 4 2 4 7 4 3 11 11 4 22 Si noti che il valore dell'ultima colonna è costante. Questo non è un caso: per ogni polinomio di grado n la colonna n+1 contiene un valore che è costante; questo è cruciale per il funzionamento della Macchina alle differenze. 5 4 15 37 D.E.
  • 8. • Il governo britannico inizialmente finanziò il progetto, ma in seguito, quando nel 1842 ricevette da Babbage la richiesta di nuovi fondi nonostante lo sviluppo della macchina sembrasse a un punto morto, decise di abbandonarlo. Nel frattempo aveva comunque già speso una cifra pari a 17.470 sterline (circa venti volte maggiore la spesa per una locomotiva a vapore). Sulla decisione di abbandono del progetto influì, inoltre, l'opinione negativa sull'utilità della macchina espressa dall'astronomo reale George Biddell Airy. Macchina alle Differenze (Difference Engine) n. 1 - C. Randone - 8 • Il dispositivo, secondo il progetto, avrebbe dovuto essere di una notevole complessità e di grandi dimensioni strutturali: basti pensare che richiedeva l'assemblaggio di 25.000 parti (di cui circa 12.000 per la "stampante") e la macchina completa sarebbe stata alta circa due metri e mezzo, larga due metri e profonda uno, con un peso di varie tonnellate. Disegno per il Difference Engine n.1, 1830 D.E.
  • 9. Macchina alle Differenze (Difference Engine) n. 1 (Portion) – Science Museum, London - C. Randone - 9 Parte ("portion" o "the beautiful fragment") del Difference Engine (n. 1), assemblata nel 1832 dall'ingegnere Joseph Clement, che lavorava con Babbage per la costruzione dei componenti delle macchine. Costituisce circa un settimo della macchina completa. La realizzazione di questo prototipo rappresenta comunque un passo importante, in quanto la facoltà umana e mentale del "calcolare" viene portata a livello meccanico, e l'operatore non deve necessariamente conoscere il comportamento interno della macchina ed i principi matematici su cui è basata, per ottenerne facilmente dei risultati utilizzabili ed affidabili. "The marvelous pulp and fibre of the brain had been substituted by brass and iron, he [Babbage] had taught wheelwork to think, or at least to do the office of thought." [La meravigliosa polpa e le fibre del cervello erano state sostituite da ottone e ferro, egli [Babbage] aveva insegnato a pensare agli ingranaggi, o almeno a svolgere l'ufficio del pensiero] Harry Wilmot Buxton (1843-1911), nella biografia di C. Babbage intitolata "Memoir of the Life and Labours of the Late Charles Babbage", del 1870 (pubblicata solo nel 1988 da MIT Press) Parte del Difference Engine n.1 (Science Museum, Londra) D.E. Un video sull'uso del "beautiful fragment" (da 2:14 in poi): https://www.youtube.com/watch?v=QVxbNZWLP60
  • 10. Macchina alle Differenze (Difference Engine) n. 1 (Portion replica) – IBM, Milano - C. Randone - 10 Una replica in scala 3/4 della sezione ("portion") del Difference Engine del 1832 è esposta all'IBM Forum di Segrate (MI). Fa parte di una serie di repliche costruite nel 1980 per la mostra IBM "A Calculator Chronicle: 300 Years of Counting and Reckoning Tools", tenutasi a New York nel 1981, ed è stato uno dei pochi esemplari poi inviati a vari uffici IBM in quel periodo. Altre copie di questo tipo sono esposte in alcuni musei nel mondo. D.E. Una replica simile è esposta anche al Museo Nazionale della Scienza e Tecnologia "Leonardo Da Vinci" di Milano. (http://www.museoscienza.org/dipartimenti/catalogo_collezioni/scheda_oggetto.as p?idk_in=ST120-00193&arg=Macchine%20da%20calcolo)
  • 11. Macchina alle Differenze (Difference Engine) n. 1 (Portion) – Science Museum, London - C. Randone - 11 Il disegno qui utilizzato è quello del prototipo del D.E. n. 1 del 1832/1833, così come riportato in "Passages from the life of a phylosopher" del 1864. Le note operative riportate sono tratte dal "Chapter V"dello stesso testo (sezione "Description of the existing portion of Difference Engine No. 1"). Unità Decine Centinaia Migliaia Decine di Migliaia T T = valore di f(x)12 "Table column" "First Difference column" "Second Difference column" Singolorisultatotabulato(T) Singoladifferenzadiordine1 Singoladifferenzadiordine2 "Cages" D.E. COSTANTE!
  • 12. • Babbage, durante e dopo la progettazione della prima macchina alle differenze, aveva lavorato alla più complessa Macchina analitica (descritta nel seguito). L'esperienza dello sviluppo di quest'ultima gli aveva permesso di migliorare il progetto della Macchina alle differenze e di svilupparne una seconda versione ("Second Difference Engine" o "D.E. no. 2") tra il 1847 e il 1849. • Questa versione prevedeva circa 8.000 parti (di cui 4.000 per la sola "stampante"). Macchina alle Differenze (Difference Engine) n. 2 - C. Randone - 13 Difference Engine n.2 Progetto del meccanismo di stampa (Science Museum Library Babbage Papers, drawing BAB [A] 173, “Plan of Inking Printing & Stereotype Apparatus,” undated) D.E.
  • 13. Macchina alle Differenze (Difference Engine) n. 2 - C. Randone - 14 Design drawing: Difference Engine No. 2 (1847). Main elevation showing crank handle (right), calculating section (center), and output apparatus (left). Science Museum Library Babbage Papers, drawing BAB [A] 163, “Elevation for Difference Engine No. 2.” (Science Museum, London) ~ 3,4 m ~ 2,1 m D.E.
  • 14. • Ispirandosi al progetto di Babbage, Per Georg Scheutz (1785-1873) costruì diverse Macchine alle differenze a partire dal 1855; una di queste venne venduta al governo Britannico nel 1859. Martin Wiberg (1826-1905) migliorò le macchine di Scheutz e le utilizzò per produrre delle tavole logaritmiche che poi pubblicò. • Basandosi sui progetti originali di Babbage lo Science Museum di Londra costruì una copia funzionante della seconda versione della Macchina alle differenze. Questa venne realizzata sotto la supervisione di Doron Swade che seguì il progetto tra il 1989 e il 1991. • Nel 2000 venne realizzata anche la stampante che, ricevuti i dati dalla Macchina alle differenze, ne permette la riproduzione su carta. • La trascrizione dei disegni originali in disegni utilizzabili per la realizzazione dei componenti mostrò che Babbage aveva commesso alcuni errori minori di progettazione, ma nulla che potesse inficiare dal punto di vista logico il funzionamento della macchina. • La Macchina alle differenze e la stampante vennero costruite con i materiali e le tolleranze disponibili nel XIX secolo e questo permise di dimostrare che il progetto di Babbage, se fosse stato finanziato e gestito adeguatamente, avrebbe potuto realmente portare alla realizzazione di una macchina funzionante. Macchina alle Differenze (Difference Engine) n. 2 – Gli sviluppi successivi … - C. Randone - 15 D.E.
  • 15. Macchina alle Differenze (Difference Engine) n. 2 – Science Museum, London (1991) - C. Randone - 16 Doron Swade D.E.
  • 16. Macchina alle Differenze (Difference Engine) n. 2 – Computer History Museum (CA) - C. Randone - 17 Dopo quella costruita nel 1991 allo Science Museum di Londra (con il meccanismo di stampa terminato nel 2001), è stata realizzata nel 2008 una seconda copia del Difference Engine n. 2, per Nathan Myhrvold , ex Chief Technology Officer in Microsoft. Questa copia è esposta ("in prestito") al Computer History Museum (http://www.computerhistory.org/) di Mountain View, in California, dal 2008. Quello che segue è un video di questa installazione. http://www.youtube.com/watch?v=tmmh7E8n0FY D.E.
  • 17. • Babbage, già durante lo sviluppo del suo primo progetto, la macchina alle differenze, si era reso conto di poter ideare una macchina generica molto più potente e interessante dal punto di vista pratico. Una macchina, cioè, che non si limitasse solo a sviluppare dei calcoli matematici, ma che potesse elaborare complessi "ragionamenti". Chiamò quest'ultimo sistema, appunto, Macchina analitica. Inizio a lavorarci dal 1834-35. • La prima descrizione abbastanza dettagliata del progetto fu pubblicata il 26 dicembre del 1837. • La Macchina analitica doveva essere alimentata da un motore a vapore e doveva essere lunga più di 30 metri per 10 metri di profondità. I dati d'ingresso e il programma sarebbero stati inseriti tramite schede perforate, un metodo già utilizzato per programmare i telai meccanici dell'epoca e che sarà utilizzato in seguito anche nei primi computer. I dati di uscita sarebbero stati prodotti da una stampante e da una sorta di "plotter". La macchina sarebbe stata in grado di perforare delle schede per memorizzare dei dati da utilizzare successivamente, e utilizzava un'aritmetica in base 10 a virgola fissa. La memoria interna ("store") sarebbe stata in grado di contenere da 100 a 1000 numeri di 40 cifre. La componente "Mill", che costituiva l'idea di base dell'unità aritmetica e logica (ALU) presente nelle moderne CPU, sarebbe stata in grado di svolgere le quattro operazioni aritmetiche. Macchina Analitica (Analytical Engine) - C. Randone - 18 A.E.
  • 18. Il "riporto anticipato" ("anticipating carriage") è un meccanismo complesso, e con esso Babbage abbandonò l'idea (risalente al Difference Engine) di avere assi di memorizzazione ("storage axes") parti integranti del meccanismo di calcolo. Invece, separò la parte della macchina che memorizza i numeri, che chiamò il "magazzino" ("store"), dalla parte che effettua il calcolo, che chiamò "mulino" ("mill"). [Macchine "moderne" come l'ENIAC e l'Harvard Mark I, non hanno esplicitamente implementato questa netta distinzione, e ogni elemento di memorizzazione era anche una adding unit (*)] Macchina Analitica (Analytical Engine) – "Anticipating carriage" - C. Randone - 19 A.E. (*) Si veda anche l'articolo "The Evolution of Babbage’s Calculating Engines" di Allan G. Bromley, Annals of the History of Computing, Volume 9, Number 2, 1987, pagina 121
  • 19. • Babbage presentò l'idea di Macchina Analitica al Secondo Congresso degli Scienziati Italiani, svoltosi a Torino nel settembre del 1840 (si veda anche: http://www.accademiadellescienze.it/storiaescienza/dossier/charles_babbage_e_l_acc ademia_delle_scienze_3585 e http://nexa.polito.it/macchina-analitica-babbage) • Babbage fu invitato in Italia da Giovanni Plana (1781-1864), matematico ed astronomo, autorevole membro dell'Accademia delle Scienze. Plana trasferì il compito di descrivere la macchina analitica ad un suo giovane e brillante collaboratore, Luigi Federico Menabrea (1809-1896). • Menabrea nel 1840 partecipa agli incontri dei membri dell'Accademia delle Scienze con Charles Babbage e due anni dopo presenta alla Biblioteque Universelle de Geneve la famosa nota "Notions sur la Machine Analytique de M. Charles Babbage". • Successivamente, nel 1843, il suo lavoro fu tradotto in inglese e significativamente ampliato da Ada Lovelace (1815-1852) con le sue famose "notes" nella pubblicazione "Sketch of the Analytical Engine invented by Charles Babbage". • In queste "notes" di Ada Lovelace è compreso (alla "Note G") quello che è considerato il primo programma informatico della storia, un algoritmo per il calcolo dei numeri di Bernoulli. Charles Babbage a Torino (1/3) - C. Randone - 20 A.E. Torino, 1840
  • 20. Charles Babbage a Torino (2/3) - C. Randone - 21 Luigi Federico Menabrea (1809 - 1896) • In segno di apprezzamento e di riconoscenza per l’attenzione ricevuta da parte di Menabrea e degli altri amici torinesi, Babbage offrì loro tutto il corredo di disegni progettuali che aveva portato con sé da Londra; questo prezioso lascito è tuttora conservato presso l’Archivio dell’Accademia delle Scienze di Torino. A.E.
  • 21. • I legami di Charles Babbage con il Regno di Sardegna rimasero stretti. Nel 1864 dedicò la sua autobiografia ("Passages from the life of a philosofer", del 1862) a Vittorio Emanuele II, ormai Re d'Italia (dal 1861). • Sul frontespizio del volume l'autore ricorda la sua onorificenza di Commendatore dell'Ordine Italiano di San Maurizio e San Lazzaro: nella prima pagina, in grande evidenza, vi è la dedica del volume a Vittorio Emanuele II, figlio di Carlo Alberto: "Sire, nel dedicare questo volume a sua Maestà, io compio un atto di giustizia nei confronti della memoria di del Vostro illustre Padre. Nel 1840 il re Carlo Alberto invitò i saggi d'Italia a riunirsi nella sua capitale. Su invito del suo più grande matematico, io portai con me i disegni e le spiegazioni dell'Analytical Engine. Essi furono ampiamente discussi e la loro validità fu riconosciuta dai più eletti figli d'Italia. Al Re, Vostro Padre, io devo il primo riconoscimento pubblico ed ufficiale di questa invenzione. Sono lieto di esprimere la mia riconoscenza a Suo Figlio, il Sovrano dell'Italia unita, il Paese di Archimede e Galileo". Charles Babbage a Torino (3/3) - C. Randone - 22 A.E.
  • 22. Analytical Engine – Linea temporale dei principali "Plans" - C. Randone - 23 From "The Evolution of Babbage's Calculating Engines", A. G. Bromley, Annals of the History of Computing, Volume 9, Number 2, 1987 A.E. A Torino nel 1840 Babbage presentò vari disegni della Macchina Analitica, tra cui il "Plan 25".
  • 23. Macchina Analitica (Analytical Engine) – "Plan 25", 1840 - C. Randone - 24 Plan of the general arrangement of the Analytical Engine ("Plan 25", 1840). ~ 70 cm Operation Cards Variable Cards Number Cards (~ 5 metri di alt.) A.E.
  • 24. Macchina Analitica (Analytical Engine) – I due livelli di controllo - C. Randone - 25 Babbage individuò almeno due diversi "livelli di controllo" per la sua Macchina Analitica: • Un livello più alto (diremmo "user level") supportato da una "programmazione" con schede perforate • Un livello più tecnico ed interno alla macchina, supportato da cosiddetti "barrel" con la codifica (diremmo oggi in termini di "microprogramma") delle operazioni fondamentali (es: addizione, sottrazione, moltiplicazione e divisione) A.E.
  • 25. Macchina Analitica (Analytical Engine) – L'idea delle "schede perforate" - C. Randone - 26 Per l'I/O e la "programmazione" della Macchina Analitica, Babbage pensò di utilizzare delle "schede perforate", riutilizzando l'idea alla base dei telai Jacquard (inventati nei primi anni dell'ottocento da Joseph Marie Jacquard) per la realizzazione di disegni complessi . A.E.
  • 26. Nei disegni di Babbage sono raffigurati tre tipi di schede: • le Number Cards, con le quali si immettono nella MA i dati iniziali del calcolo, designati come Primitive Data; la MA può anche "scrivere" delle card con i risultati • le Operation Cards, ciascuna delle quali comanda l’esecuzione di una operazione aritmetica; sono previste anche delle Combinatorial Cards per supportare salti e cicli • le Variable Cards, che indicano l’indirizzo dei registri di memoria, chiamati Columns, ove prelevare gli argomenti e depositare il risultato di ciascuna operation. L’insieme di una Operation Card e delle Variable Cards ad essa associate corrisponde concettualmente a una “istruzione” degli odierni computer, così come la sequenza delle istruzioni corrisponde al nostro “programma”. Macchina Analitica (Analytical Engine) – Le "card" (1/2) - C. Randone - 27 A.E.
  • 27. Macchina Analitica (Analytical Engine) – Le "card" (2/2) - C. Randone - 28 Delle "card" per l'Analytical Engine A.E.
  • 28. Schede perforate degli anni 1960-1970 - C. Randone - 29 A.E.
  • 29. Nastri perforati degli anni 1950-1970 - C. Randone - 30 Le schede che Babbage aveva in mente per la sua Macchina Analitica erano "legate" l'una all'altra (sullo stile del telaio Jaquard), rendendo questo tipo di supporto di memoria forse più simile ad un nastro perforato ("punched tape") che a delle schede perforate come quelle illustrate nella slide precedente. A.E.
  • 30. Macchina Analitica (Analytical Engine) – I "microprogrammi" - C. Randone - 31 Schema della "microprogrammazione" della Macchina Analitica, tratto da "Charles Babbage’s Analytical Engine, 1838", A. G. Bromley, Annals of the History of Computing, vol. 4, no. 3, July 1982, pp. 196-218. A.E.
  • 31. Analytical Engine – Meccanismo di controllo sui "barrel" (microprogrammazione) - C. Randone - 32 Una "parola" di microprogramma (un "passo") è rappresentata da una fila verticale di perni avvitati al cilindro. Questi perni agiscono sulle estremità delle leve di comando quando il cilindro si muove (trasla) lateralmente. I "reducing sector" di uno, due e quattro denti fanno ruotare il cilindro di un corrispondente numero di "passi" verticali, e possono anche agire in combinazione in una sola volta. A.E. "Reducing sectors"
  • 32. Macchina Analitica (Analytical Engine) – Schema a blocchi - C. Randone - 33 CPU ("Mill") and Memory ("Store") Primary Storage 1,000 40 – digit numbers ALU < > = + - x ÷ Control Unit Output Cards / Printer Input Cards Secondary Storage Data on Cards Nota: Una macchina "moderna" con caratteristiche architetturali simili all'Analytical Engine è il calcolatore elettromeccanico Automatic Sequence Controlled Calculator (ASCC) di Howard Aiken (noto anche come IBM-Harvard Mark 1), del 1944. Nella progettazione del Mark 1, Aiken (forse…) fu influenzato dai lavori di Babbage. A.E.
  • 33. Macchina Analitica (Analytical Engine) – Terminologia… - C. Randone - 34 Babbage Analytical Engine Contemporary Computer Axis Buffer / register Barrel Microcode Card (generic) Instruction Carriage Carry propagation Curve Drawing Apparatus Plotter Column (of Rack) Memory (RAM) cell Cycle Loop Mill Arithmetic and Logical Unit (ALU) Rack (of Columns) Random Access Memory (RAM) Store Memory (RAM) Array / Storage Turn of the Handle Clock cycle E' possibile stabilire una significativa correlazione tra i vocaboli utilizzati da Babbage nel descrivere la sua Macchina Analitica e la moderna terminologia informatica. Eccone alcuni esempi: A.E.
  • 34. Il termine "Plan" utilizzato da Babbage veicola due significati. In primo luogo rappresenta i disegni relativi alla disposizione fisica degli assi e delle altre parti della macchina. In secondo luogo, distintamente, i "plan" rappresentano anche l'architettura logica della macchina, un significato che è andato assumendo via via maggior enfasi dal 1835 in poi. Macchina Analitica (Analytical Engine) - Timeline - C. Randone - 35 Tratto da "The Evolution of Babbage’s Calculating Engines", A. G. Bromley, Annals of the History of Computing, vol. 9, no. 2, 1987, pp. 113-136 A.E.
  • 35. Macchina Analitica (Analytical Engine) – "Plan 28", 1842 (first arrangement) - C. Randone - 36 "Plan 28" dell'Analytical Engine (rif. "A.118 Figure 9"), datato 8 Dicembre 1842 A.E. Rack (the "BUS") A couple of Store Axes The Mill Stepping numbers up or down General storage purposes Anticipating carriage Figure Axes
  • 36. Macchina Analitica (Analytical Engine) – "Plan 28", 1843-1846 - C. Randone - 37 Da "The Evolution of Babbage's Calculating Engines", A. G. Bromley, Annals of the History of Computing, Volume 9, Number 2, 1987 Una diversa rappresentazione del Plan 28 dell'Analytical Engine. Questo disegno è stato assemblato partendo da diversi disegni del periodo 1843 - 1846. L'architettura qui sintetizzata è sostanzialmente più semplice di quelle dei progetti precedenti (ad es. del Plan 25). A.E.
  • 37. Macchina Analitica (Analytical Engine) – Disposizione "a griglia" (1858) (ridisegnato) - C. Randone - 38 Crystal Palace, Esposizione Universale del 1851, Londra A.E.
  • 38. Macchina Analitica (Analytical Engine) - C. Randone - 39 Una parte del "mill" della Macchina Analitica, in costruzione nel 1871, alla morte di Babbage. Science Museum, London A.E.
  • 39. Macchina Analitica (Analytical Engine) - C. Randone - 40 Una ulteriore realizzazione di parte della macchina analitica ("mill" e meccanismo di stampa) realizzata nel 1910 dal figlio Henry Prevost Babbage. Science Museum, London A.E.
  • 40. Macchina Analitica (Analytical Engine) - C. Randone - 41 Una ipotetica rappresentazione di fantasia della "Macchina Analitica", come sarebbe potuta apparire se fosse stata costruita nella seconda metà dell'800 (disegno parzialmente basato su alcuni elementi del "Plan 25" e del "Plan 28" dell'Analytical Engine): http://scientificillustration.tumblr.com/image/22977242992 A.E.
  • 41. Comparazione sintetica tra le caratteristiche delle Macchine di Charles Babbage - C. Randone - 42 Caratteristica Difference Engine n. 1 Difference Engine n. 2 Analytical Engine Periodo di sviluppo 1822-1833 1847-1849 1834-1846 e 1856-1871 Numero totale di parti 25.000 (di cui circa 12.000 per la stampante) 8.000 (di cui circa 4.000 per la stampante) Non definito. (La stampante prevista è la stessa del D.E. n. 2) Sistema numerico Decimale Decimale Decimale Capacità e Precisione 6 assi da 12 (o 16, o 18) cifre 8 assi da 31 cifre >100 assi (fino a 1000) da 30 o 40 o 50 cifre Gestione numeri negativi Complemento a 10 Complemento a 10 Segno-grandezza per l'I/O, con rappresentazione interna in complemento a 10 Gestione riporti Sequenziale Sequenziale (ottimizzata) Anticipating carriage Programmazione Sequenza delle operazioni (di somma) precodificata su camme Sequenza delle operazioni (di somma) precodificata su 14 coppie di camme Microprogrammazione su "barrel" e programmazione "utente" tramite schede perforate Realizzazioni Una parte (funzionante) grande circa un settimo della macchina completa fu assemblata nel 1832. In quella data erano già state costruite (ma non furono mai assemblate) più di 10.000 parti. Da Babbage furono realizzate solo alcune parti dimostrative. Partendo dai disegni di Babbage, la macchina fu realizzata nel 1991 allo Science Museum di Londra (il meccanismo di stampa nel 2001). Una seconda copia completa fu realizzata per il Computer Museum di Mountain View in California nel 2008. Una parte (semplificata) del "mill" era in fase di realizzazione nel 1871. Una ulteriore realizzazione parziale del meccanismo di calcolo e stampa fu realizzata nel 1910 da Henry Prevost Babbage, figlio di Charles. Iniziativa http://plan28.org/. A.E.
  • 42. Ada Lovelace (10/12/1815 - 27/11/1852) - C. Randone - 43 Augusta Ada Byron, meglio nota come Ada Lovelace, nome che assunse dopo il matrimonio con William King, Conte di Lovelace, è stata una matematica inglese, nota soprattutto per il suo lavoro alla Macchina analitica ideata da Charles Babbage. Ada fu la sola figlia legittima del poeta Lord Byron e della matematica Anne Isabella Milbanke, e non ebbe alcuna relazione con il padre, che morì quando lei aveva solo 9 anni. Fin da giovane s’interessò alle scienze matematiche, e in particolare al lavoro di Babbage (che incontrò per la prima volta nel 1833) sulla macchina analitica. Tra il 1842 e il 1843 tradusse un articolo del matematico italiano Luigi Menabrea sulla macchina, che incrementò con un insieme dei suoi appunti. Questi studi contenevano quello che oggi viene considerato da alcuni come il primo programma di computer. Ada Lovelace aveva previsto la capacità dei computer di andare al di là dal mero calcolo numerico, mentre altri, incluso lo stesso Babbage, si focalizzarono soltanto su queste capacità. Dal calcolo (numerico) … … alla computazione e manipolazione di simboli The "Lovelace Leap" Ada
  • 43. • Il "programma" per Analytical Engine scritto da Ada Lovelace ("Note G") (1843) Ada Lovelace – "Programma " per la Macchina Analitica (Analytical Engine) - C. Randone - 44 Ada
  • 44. Ada Lovelace (10/12/1815 - 27/11/1852) - C. Randone - 45 "We may say most aptly, that the Analytical Engine weaves algebraic patterns, just as the Jacquard loom weaves flowers and leaves." Ada Lovelace ("Possiamo dire più giustamente che la macchina analitica tesse modelli algebrici, proprio come il telaio Jacquard tesse fiori e foglie.") Da: "Sketch of The Analytical Engine - Invented by Charles Babbage" By L. F. MENABREA, of Turin, Officer of the Military Engineers from the Bibliothèque Universelle de Genève, October, 1842, No. 82 With notes upon the Memoir by the Translator ADA AUGUSTA, COUNTESS OF LOVELACE (http://www.fourmilab.ch/babbage/sketch.html) Ada
  • 45. • Nel 1878, sette anni dopo la morte di C. Babbage, il comitato della British Association for the Advancement of Science si pronunciò contro la costruzione della macchina analitica (http://www.fourmilab.ch/babbage/baas.html) e questo vanificò le speranze di Henry Prevost Babbage (figlio di Charles, 1824-1918) di poter accedere a sovvenzioni governative. • Oggi, l'iniziativa "Plan 28" (http://plan28.org/) del programmatore e scrittore John Graham-Cumming si ripropone di costruire un modello (prima simulato al computer, e poi "fisico") dell'Analytical Engine. Macchina Analitica (Analytical Engine) – Iniziativa "Plan 28" - C. Randone - 46 John Graham-Cumming Now
  • 46. Macchina Analitica (Analytical Engine) – Sydney Padua - C. Randone - 47 Un'altra ipotetica rappresentazione di fantasia della "Macchina Analitica", come sarebbe potuta apparire se fosse stata costruita nella seconda metà dell'800 (disegno di Sydney Padua, basato principalmente sul Plan 25): http://www.theguardian.com/technology/gallery/2015/apr/12/thrilling-adventures-lovelace-babbage-in- pictures#img-6 Now
  • 47. Sydney Padua - C. Randone - 48 Sydney Padua (sydneypadua.com) è una grafica e disegnatrice che lavora soprattutto nel mondo dell’animazione cinematografica. E' autrice del libro "The Thrilling Adventures of Lovelace and Babbage" (http://sydneypadua.com/2dgoggles/the- book. Una "gallery" di video realizzati da Sydney Padua sulle macchine di Babbage (in particolare relativi all'Analytical Engine) sono disponibili a partire dal sito: https://www.youtube.com/user/sydpadua/videos Now
  • 48. La Macchina Analitica (Analytical Engine) nella fantascienza - C. Randone - 49 William Gibson e Bruce Sterling sono stati coautori (nel 1990) del romanzo intitolato La macchina della realtà (The Difference Engine). In questo romanzo, ambientato nella Londra del 1855, si esplora un passato alternativo in cui la Macchina analitica è stata già costruita e la sua realtà, unita a quella della Rivoluzione industriale, ormai avviata, influenza notevolmente i personaggi e le scene dell'era vittoriana. Now Copertine di una edizione italiana e di una inglese del libro di W. Gibson e B. Sterling.
  • 49. Una interessante documentazione… - C. Randone - 50 "Ada Byron e la Macchina Analitica", Giuseppe O. Longo, Corrado Bonfanti Mondo Digitale n. 2, giugno 2008 http://archivio- mondodigitale.aicanet.net/Rivista/08_numero _2/Longo p. 35-45.pdf e http://nid.dimi.uniud.it/history/papers/longo_ bonfanti_08.pdf Sempre in italiano, si veda anche: M. G. Losano (a cura di), Babbage. La macchina analitica: un secolo di calcolo automatico, Etas Kompass Libri, Milano, 1973. Docs
  • 50. Altre interessanti (e recenti…) documentazioni in italiano (1/2) - C. Randone - 51 Silvio Hénin, "Augusta Ada Lovelace (1815 - 1852)" Mondo Digitale, ANNO XIV N.57, Aprile 2015 http://mondodigitale.aicanet.net/2015-2/articoli/03_Augusta_Ada_Lovelace.pdf Mario G. Losano, "La macchina analitica di Babbage: un fossile che viene dal futuro" Diritto dell’informazione e dell’informatica, 2015, n.1, pp. 1-42. http://rivoluzionedigitale.polito.it/rdfiles/Babbage-Prefazione-DirInf.pdf Mario G. Losano, "La macchina da calcolo di Babbage a Torino", Accademia delle Scienze di Torino - I Libri dell’Accademia, vol. 10, 2015, ISBN: 9788822263827 Casa Editrice Olschki, Firenze, 2015 http://www.olschki.it/libro/9788822263827 NB: questo testo riprende ed aggiorna il volume di Losano del 1973: "Babbage: la macchina analitica. Un secolo di calcolo automatico" (Etas Kompass, Milano 1973) già precedentemente citato Docs
  • 51. Altre interessanti (e recenti…) documentazioni in italiano (2/2) - C. Randone - 52 Silvio Hénin, "Il computer dimenticato – Charles Babbage, Ada Lovelace e la ricerca della macchina perfetta", HOEPLI, 2015 http://www.hoepli.it/libro/il-computer- dimenticato/9788820370442.html Docs Libri e documenti digitali presso l'Accademia delle Scienze di Torino: http://www.accademiadellescienze.it/TecaRicerca
  • 52. Una monografia sulle macchine di C. Babbage - C. Randone - 53 Nel 2010 l'IEEE ha curato una interessante e completa raccolta di articoli sulle macchine di Babbage, che costituisce un ottimo punto di partenza per approfondire l'argomento: Docs La raccolta contiene tra gli altri diversi articoli di Allan Bromley (1947–2002) , riconosciuto studioso delle macchine di Babbage.
  • 53. Dove trovare alcune delle "migliori" descrizioni tecniche dell' "Analytical Engine" ? - C. Randone - 54 Una delle migliori descrizioni dell' Analytical Engine è contenuti nell'articolo "On the Mathematical Powers of the Calculating Engine" (1837), contenuto ad esempio nel volume di Randell "The Origins of Digital Computers", del 1973. Questa fonte va ad integrazione delle già citate "notes" di Ada Lovelace in "Sketch of the Analytical Engine invented by Charles Babbage", pubblicate ad es. in "Charles Babbage. On the Principles and Development of the Calculator and Other Seminal Writings by Charles Babbage and Others", Edited by P. Morrison and E. Morrison, Dover Publications Docs
  • 54. Altri link e libri di riferimento su Babbage e le sue macchine - C. Randone - 55 Sito "The Analytical Engine", di John Walker: http://www.fourmilab.ch/babbage/contents.html Libro "Charles Babbage and the Engines of Perfection", J. H. MacLachlan, B. Collier: http://www.amazon.com/Charles-Babbage-Engines-Perfection-Portraits/dp/0195089979 Libro "Charles Babbage: Pioneer of the Computer", A. Hyman: http://www.amazon.com/Charles-Babbage-Computer-Anthony-Hyman/dp/0691083037 Docs
  • 55. Il "Charles Babbage Institute" (CBI) - C. Randone - 56 Il Charles Babbage Institute (CBI, http://www.cbi.umn.edu/) è un istituto di ricerca presso l'Università del Minnesota, specializzato nella storia dell'information technology, in particolare la storia degli elaboratori digitali, dei linguaggi e della programmazione, e delle reti, a partire dal 1935. L'istituto prende il nome da Charles Babbage, ed è situato presso la Elmer L. Andersen Hall alla University of Minnesota Libraries, in Minneapolis, Minnesota. Gli "IEEE Annals of the History of Computing" Gli "Annals of the History of Computing" (https://www.computer.org/annals/) dal 1979 sono una pubblicazione specializzata sulla storia delle tecnologie per il trattamento dell'informazione. Dal 1992 rientrano nell'ambito delle pubblicazioni dell'IEEE. In figura, il numero monografico di ottobre-dicembre 2000 con gli importanti studi di Allan Bromley (1947-2002) sulla macchina analitica. Docs

Editor's Notes

  1. In relazione al fatto che la temporizzazione è invertita rispetto a quella che sarebbe stata adottata nel D.E. No. 1 completo, la fonte di questo dettaglio è la seguente: "Charles Babbage's Tabulations using the 1832 model of Difference Engine No. 1", Allen G. Bromley, Technical Report 304, April 1987, Basser Department of Computer Science, The University of Sydney, Australia (file "tr304.pdf")
  2. Rack = Cremagliera