La macchina differenziale di Babbage, dopo una decina di anni di lavoro e una spesa di 17.000 sterline, resta incompiuta, causa problemi tecnici. A quel punto il governo inglese sospende i finanziamenti e Babbage reagisce con amarezza pubblicando nel 1830 le sue Reflections on the Decline of Science in England, and some of its Causes.
Le difficoltà nella concreta realizzazione della macchina differenziale, comunque, non scoraggiano Babbage, che tra il 1833 e il 1843 progetta e avvia la costruzione di una “macchina analitica”: ovvero di una macchina programmabile capace, a differenza della precedente, di svolgere ogni tipo di calcolo. Oggi la chiameremmo computer general purpose: un calcolatore per scopi generali.
Charles Babbage.
Babbage pensa di programmarlo, il suo computer meccanico e general purpose, con schede perforabili, adattando ai problemi matematici la tecnica usata dal francese Joseph Marie Jacquard per programmare i telai per la confezione di tessuti con diverse trame. La macchina utilizza due tipi di schede perforate – le prime, le operation cards determinano la natura delle operazioni da effettuare, le altre, le variable cards, riguardano le variabili delle operazioni – ed è dotata di una stampante, di un plotter per i grafici e di un campanello per segnalare la fine delle operazioni.
Ada Lovelace, "l'incantatrice dei numeri" che collaborò con Babbage per studiare i metodi di calcolo realizzabili con la macchina differenziale e la macchina analitica arrivando a descrivere quello che oggi è riconosciuto come il primo software per computer.
Anche se la realizzazione pratica della macchina analitica, con le sue numerose ruote e i complessi ingranaggi, incontrerà le medesime difficoltà di quella differenziale e non verrà portata a termine, Babbage è l’uomo che ha concepito il primo computer digitale automatico e programmabile. Come ci invita a fare Hermann Goldstine, è interessante notare che nei tentativi di Babbage si manifesta un processo che è costante nella storia del computer (e non solo): lo sviluppo di macchine radicalmente nuove è determinato da persone di genio che adattano nuove tecnologie alla necessità di aumentare la velocità di calcolo [5].
Il computer di Charles Babbage non era irrealizzabile. Tant’è che ne costruiscono un modello funzionante lo svedese Georg Scheutz e suo figlio Edvard. Si tratta di una macchina differenziale presentata all’esposizione universale di Parigi nel 1855 e poi venduta negli Stati Uniti al Dudley Observatory di Schenectedy, New York.
Il figlio di Charles, Henry Babbage, riesce invece a completare una versione semplificata della macchina analitica nel 1888 e a dare pubblica dimostrazione della sua funzionalità nel 1906.
Ma il problema reale è che i computer meccanici progettati da Charles Babbage non consentono quel salto di qualità in termini di velocità e, dunque, di potenza di calcolo che, unico, avrebbe consentito di realizzare il sogno di Leibniz: liberare dalla schiavitù dei conti astronomi e fisici, ingegneri e marinai. Sono troppo lenti.
Migliori prestazioni, da questo punto di vista, sembrano fornirle, tra la fine del XIX e l’inizio del XX secolo, i computer analogici, come quello realizzato dallo spagnolo Leonardo Torres Quevedo e presentato nel 1893 all'Accademia spagnola delle Scienze e della Fisica. Si tratta di un calcolatore meccanico che, a differenza dei computer digitali di Babbage, non utilizza numeri, quindi quantità discrete, bensì variabili fisiche continue (come la differenza di potenziale, o anche, come succede nel regolo calcolatore, la semplice lunghezza di un’asta). Il computer analogico di Leonardo Torres Quevedo è in grado di risolvere equazioni algebriche anche complesse, con precisione dell’ordine dei millesimi.
Il primo computer analogico, tuttavia, era già stato realizzato, come abbiamo detto, nel 1872 da William Thomson, al secolo Lord Kelvin. Si tratta di una macchina capace di predire con notevole precisione l’andamento delle maree. Mentre un analizzatore differenziale, una macchina analogica capace di risolvere equazioni differenziali mediante integrazione usando meccanismi cosiddetti wheel-and-disc, capaci di trasformare un movimento circolare continuo in uno alternato, era stato messo a punto da James Thomson, il fratello di Lord Kelvin, nel 1876.
Ma ritorniamo a Babbage. A ben vedere, il suo computer meccanico non è solo un number cruncher, ma anche un symbol manipulator. E difficilmente l’inglese lo avrebbe potuto progettare se non avesse letto i lavori di un conterraneo, George Boole, che, per dirla con Bertrand Russell, ha inventato la “matematica pura”.
E in realtà, intorno alla metà del XIX secolo, nel 1848, con il libro The Mathematical Analysis of Logic,preludio al suo capolavoro del 1854, An Investigation of the Laws of Thought, Boole riprende e sviluppa l’idea che era stata di Leibniz: ridurre la logica ad algebra, con un procedimento assiomatico ipotetico-deduttivo che è del tutto simile a quello proposto per la geometria da Euclide oltre due millenni prima. Fonda così quella logica matematica che è la cornice teorica su cui – lungo un percorso tutto inglese – si fonderanno non solo i Principia Mathematica di Alfred Whitehead e di Bertrand Russell del 1910-1913, ma anche, un quarto di secolo dopo, l’idea di macchina universale, symbol manipulator, di Alan Turing.
Ma i meriti di Boole non si esauriscono qui (e comunque non sarebbe davvero poca cosa). Nei due libri che abbiamo citato egli propone un’algebra binaria, fondata su due sole variabili, vero o falso, e sull’utilizzo di pochi “operatori matematici”. Quindi propone anche il terzo elemento che si fonderanno nella moderna informatica così come segnalato da Turing: il linguaggio. L’”algebra booleana” è oggi a fondamento dell’elettronica digitale.
Tra la fine del XIX e l’inizio del XX secolo si sviluppano i computer meccanici in maniera notevole: lo United States Census Bureau, per esempio, in questo periodo rende completamente automatico, per il tramite di macchine capaci di leggere schede perforate, la sua raccolta dati sulla popolazione americana. Lo sviluppo di questo tipo di macchine porta alla fondazione, nel 1924, della IBM (International Business Machines) leader dell’industria meccanografica insieme alla Remington Rand, fondata a sua volta fondata nel 1927.
(4. continua)
Note
[5] Hermann Goldstine, The computer. From Pascal to von Neumann, Princeton UP, Princeton, New Jersey, USA, 1993, p. 11.