Macchina analitica
Da Wikipedia, l'enciclopedia libera.
La macchina analitica (analytical engine in lingua inglese) è un'importante passo della storia dell'informatica. La macchina analitica è stato il primo progetto di un computer meccanico sviluppato per eseguire compiti generici. Il progetto venne sviluppato dal professore di matematica Charles Babbage che cercò anche di realizzarla praticamente. La prima descrizione del progetto si ebbe nel 1837 sebbene Babbage continuò a sviluppare il progetto fino alla sua morte avvenuta nel 1871. Per motivi politici e finanziari la macchina non venne mai sviluppata, ma i moderni personal computer hanno notevoli analogie con la macchina analitica pur essendo stati sviluppati quasi cento anni dopo.
Alcuni storici ritengono che con le competenze tecniche dell'epoca la macchina non avrebbe potuto funzionare mentre altri storici ribattono che un supporto politico e finanziario maggiore avrebbe permesso di superare i problemi tecnici e quindi avrebbe permesso la costruzione della macchina.
Indice |
[modifica] Progetto
Inizialmente Charles Babbage (1791-1871) progettò, intorno al 1821, la Macchina delle Differenze, o Difference Engine. Si trattava di una macchina calcolatrice meccanica, che doveva essere costruita con ingranaggi di ottone, ideata per effettuare i calcoli dei logaritmi e delle funzioni trigonometriche utili per la navigazione o per il calcolo degli interessi finanziari. Si chiama macchina delle differenze perché opera secondo il metodo per cui le operazioni di moltiplicazione e divisione possono essere riportate alle più semplice addizione e sottrazione. Nel 1832 Babbage riuscì a realizzarne solo una parte, si ritiene a causa della non sufficiente precisione dei macchinari del tempo. Il London Museum of Science nel 1985 lanciò un progetto per realizzarne la versione più complessa, Difference Engine 2, sulla base dei progetti originali di Babbage. La macchina fu effettivamente realizzata e risultò funzionante.
Durante lo sviluppo del primo progetto Babbage si rese conto di poter ideare una macchina generica molto più potente e interessante dal punto di vista pratico. Una macchina cioè che non si limitasse a sviluppare calcoli matematici ma che potesse elaborare complessi "ragionamenti". L'ispirazione probabilmente veniva anche dallo sviluppo che l'orologeria aveva avuto nel '700, che a sua volta aveva generato un artigianato degli "automi", usati solo per divertimento, e dalla possibilità di programmazione del telaio Jaquard. Chiamò quest'altro sistema Analytical Engine.
Lo schema teorico di questa macchina è universalmente accettato come il primo prototipo di calcolatore generico complesso. È infatti basato su un sistema di input, un motore per l'elaborazione dei dati chiamato "Mill" (mulino), e un sistema di output. Lo stesso schema che verrà usato più di un secolo dopo nei laboratori americani per creare il primo computer.
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à utilizzati per programmare i telai meccanici dell'epoca e che verrà utilizzato anche dai primi computer. I dati di uscita sarebbero stati prodotti da uno stampatore e da un arco in grado di tracciare curve. La macchina sarebbe stata in grado di perforare delle schede per memorizzare dei dati da utilizzare successivamente. La macchina utilizzava una aritmetica in base 10 a virgola fissa. la memoria interna sarebbe stata in grado i contenere 1000 numeri di 50 cifre. L'unita aritmetica sarebbe stata in grado di svolgere le quattro operazioni aritmetiche base.
Il linguaggio di programmazione utilizzato dalla macchina era un linguaggio molto simile al moderno assembler. Cicli e salti condizionati erano previsti nel linguaggio rendendo il linguaggio (e quindi anche la macchina) Turing completo. Tre differenti tipi di schede perforate erano previste. Una tipologia di schede perforate erano riservate alle operazioni matematiche, un altro tipo era previsto per le costanti matematiche e il terzo tipo serviva ad caricare e salvare i dati.
Nel 1842 il matematico italiano Luigi Federico Menabrea a un congresso ascolta Babbage descrive il progetto della macchina analitica. Menabrea realizza una descrizioni in francese della macchina. Il lavoro di Menabrea viene tradotto in inglese e significativamente ampliato da Ada Lovelace. Lovelace negli anni successivi realizzare molti lavori teorici per la macchina analitica e in onore del suo lavoro un moderno linguaggio di programmazione è stato chiamato Ada.
[modifica] Parziale costruzione
Nel 1878 il comitato della British Association for the Advancement of Science si pronuncio contro la costruzione della macchina analitica e questo vanifico la speranze di Babbage di poter accedere a sovvenzioni governative.
Nel 1910 il figlio di Babbage, Henry P. Babbage affermo che una parte della macchina analitica era stata effettivamente costruita e era stata utilizzata per calcolare una lista (errata) di multipli del pi-greco. La parte costruita era una piccola parte del progetto completo, non era programmabile e non era dotata di unità di memorizzazione.
[modifica] Influenze
[modifica] Informatica
La macchina analitica venne dimentica da quasi tutti, si conoscono solo poche eccezioni. Percy Ludgate scrisse della macchina analitica nel 1915 e progetto a sua volta una sua versione della macchina analitica (che non realizzo mai). La macchina analitica di Ludgate era molto più piccola di quella di Babbage difatti doveva occupare solo 0.22 metri cubici e teoricamente doveva essere in grado di moltiplicare due numeri di 20 cifre in 6 secondi. Leonardo Torres y Quevedo e Vannevar bush conoscevano i lavori di Babbage sebbene probabilmente non si conoscessero reciprocamente.
I lavori di Babbage sono stati strettamente collegati ai lavori di George Stibitz dei Bell laboratories di New York prima della Seconda guerra mondiale e di Howard Aiken di Harvard durante e dopo la Seconda guerra mondiale. Entrambi costruirono dei calcolatori elettromeccanici con un disegno simile al progetto di Babbage, sebbene fossero concettualmente molto diversi da un moderno computer programmabile. La macchina di Aiken venne fortemente finanziata dall'IBM e venne chiamata Harvard mark I.
Dalla autobiografia di babbage:
- Quando la macchina analitica verrà realizzata, necessariamente guiderà lo sviluppo futuro della scienza.
[modifica] Finzione
Lo scrittore cyberpunk William Gibson e Bruce Sterling sono co-autori di un romanzo del genere steampunk chiamato La macchina della realtà. Nel racconto si esplora un passato alternativo in cui la Macchina Analitica è stata costruita e di conseguenza l'era Vittoriana ne è risultata influenzata.
[modifica] Collegamenti esterni
- (EN) History of Charles Babbage and his engines at the London Museum of Science
- (EN) The Analytical Engine at Fourmilab, includes historical documents and online simulations
- (EN) L. F. Menabrea, Ada Augusta, Sketch of the Analytical Engine, Bibliothèque Universelle de Genève, Number 82, October 1842.
- (EN) Brian Randell|Randell, Brian, From Analytical Engine to Electronic Digital Computer: The Contributions of Ludgate, Torres, and Bush, Annals of the History of Computing, Volume 4, Number 4, October 1982.
- (EN) Special issue, IEEE Annals of the History of Computing, Volume 22, Number 4, October–December 2000.