Il sogno antico del calcolo automatico
Che noia fare i calcoli
di Giuseppe Lettieri e Mario Mancini
Vai agli altri articoli della serie “L’industria del computer e la sua storia”
In questo post, che si può leggere in cinque minuti, Giuseppe Lettieri ripercorre in modo semplice e spigliato la storia del calcolo automatico dalla nascita di questa idea fino a quanto le macchine per il calcolo sono diventate dei computer. Una storia poco conosciuta, ma che ha i connotati di un percorso avvincente di idee, sperimentazioni, intuizioni e persone geniali. Una storia nella quale gli italiani hanno giocato un ruolo primario di cui andare orgogliosi.
Buona lettura
I pionieri
Il calcolo automatico è un segno di liberà da un compito pesante, gravoso e inevitabilmente soggetto a errori. Perché una volta i computer erano esseri umani. Questo sogno ossessionava i pionieri della scienza che poi si sarebbe chiamata informatica. Computer, infatti, non significa altro che “calcolatore”, ed è una macchina che nasce per liberare l’uomo da questa specifica fatica. In effetti, non era facile prevedere che avrebbe poi trovato applicazione in così tante attività, tra cui molte che sembravano appartenere alla sfera di ciò che ci rende umani.
La storia (tralasciando alcuni ambigui disegni di Leonardo da Vinci) inizia con Wilhelm Schickard (1592–1635) e Blaise Pascal (1623–1662). Schickard, scienziato della prestigiosa università di Tubinga, completa un paio di modelli del suo “orologio calcolante”, una ventina d’anni prima di Pascal, come supporto ai suoi calcoli astronomici. Purtroppo li perde entrambi in un incendio: di essi ci è giunta notizia solo tramite la descrizione che ne dà al suo amico Keplero. Ben più famosa la macchina di Pascal, oggi nota come “pascalina”, che il futuro filosofo inventa a 19 anni per aiutare il padre, intendente di finanza a Rouen.
Sommare e sottrarre da un totale è tutto ciò che queste macchine sanno fare “da sole”, ed è necessaria la collaborazione attiva da parte dell’utilizzatore per moltiplicare, dividere o estrarre radici. Gottfried Wilhelm Leibniz (1646–1716) porta l’automazione un passo più avanti: costruisce un paio di esemplari di una macchina che può anche moltiplicare e dividere, imitando il procedimento che tutti conosciamo per la divisione e la moltiplicazione in colonna su carta.
La rivoluzione industriale crea un mercato per il calcolo automatico
Si ha notizia di almeno un centinaio di inventori che, nei due secoli successivi, si sono cimentati nell’impresa di progettare e costruire macchine per il calcolo, esplorando (spesso in maniera rudimentale) molte delle soluzioni che poi sarebbero state utilizzate nelle calcolatrici meccaniche del 1900. Nessuno di loro riuscì a vendere le proprie creazioni in misura significativa, forse anche per la mancanza di una vera domanda che sarebbe arrivata dopo la rivoluzione industriale.
Solo a metà del 1800, in Francia, Charles Xavier Thomas De Colmar (1785–1870) riesce a vendere migliaia del suo Arithmomètre, una versione molto migliorata della macchina di Leibniz, a cui l’inventore lavorò per più di cinquant’ anni. Molti altri lo seguiranno, introducendo decine di migliorie e variazioni, fino ad arrivare a capolavori di ingegneria meccanica come la tascabile Curta o la efficiente Divisumma. Le calcolatrici meccaniche, poi elettro-meccaniche e infine elettroniche, arriveranno nel Novecento sulla scrivania di ogni computer.
L’Analytical Engine
Già, perché computer significa sì calcolatore, ma calcolatore umano. I computer calcolavano per lavoro il valore di complesse formule matematiche, ridotte a una lunga serie di operazioni aritmetiche in “fogli di calcolo” preparati da scienziati e ingegneri.
I fogli erano organizzati in righe e colonne e contenevano ordini del tipo: “nella colonna A inserire un terzo dei corrispondenti valori della colonna B” e poi “nella colonna C inserire il prodotto delle colonne A e B”. È possibile automatizzare il loro lavoro? Forse collegando tra loro tante calcolatrici; ma se domani si volesse calcolare una formula diversa occorrerebbe rifare tutto daccapo . A un calcolatore umano, invece, basta dare un foglio con nuove istruzioni. Leggere, comprendere e applicare una serie di istruzioni scritte: a prima vista, sembrerebbe un lavoro che solo gli uomini possono svolgere.
L’idea che invece si può automatizzare anche questo venne incredibilmente presto: nel 18 36 , mentre De Colmar stava ancora perfezionando l’Arithmomètre, il matematico e filosofo inglese Charles Babbage (1791–1871) aveva già ideato una macchina in grado di obbedire a una sequenza di ordini simili a quelli usati nei fogli di calcolo. Gli ordini erano “scritti” su quelle schede perforate
che già Joseph-Marie Jacquard (1752- 1834) aveva usato per automatizzare il lavoro dei telai. Babbage progettò la sua gigantesca Macchina Analitica (Analytical Engine) fin nei più piccoli ingranaggi, anticipando molte delle idee dei computer moderni. Non riuscì però mai a costruirla , forse a causa del suo carattere incostante.
La nascita del linguaggio della macchina
La divulgazione delle idee di Babbage fu affidata ad un articolo scritto in francese da Luigi Federico Menabrea (1809–1896), scienziato e futuro primo ministro italiano. L’ articolo era basato su una serie di seminari che Babbage tenne nel 1840 a Torino, ed è famoso soprattutto per la traduzione in inglese che ne fece Augusta Ada Byron, contessa di Lovelace (1815–1852), grande amica di Babbage stesso. D’accordo con lui, la Lovelace aggiunse alla traduzione una serie di corpose note in cui vediamo prefigurare, per quanto in modo nebuloso , che la macchina avrebbe potuto trovare applicazioni anche al di fuori del mondo del calcolo.
Ma la memoria di tutto ciò andò persa rapidamente e la storia del moderno computer dovette ripartire da capo un secolo più tardi. Negli anni Trenta del 1900, Howard H. Aiken (1900–1973) negli USA e Konrad Zuse (1910–1995) in Germania riscoprono indipendentemente l’idea di una macchina programmabile.
Lo scopo delle loro invenzioni è sempre lo stesso: automatizzare i calcoli scientifici. Le loro macchine sono elettro-meccaniche; durante la Seconda Guerra Mondiale, l’esigenza di calcolare velocemente conduce a soluzioni interamente elettroniche.
I dinosauri a valvole
Negli USA il gigante a valvole ENIAC , di John A. Presper Eckert (1919–1995) e John Mauchly (1907- 1980), viene utilizzato per i calcoli legati alla costruzione della bomba atomica . In Gran Bretagna, a Bletchley Park, la sfida della decifrazione dei messaggi tedeschi criptati con la macchina Lorenz (meno nota ma ben più potente dell’Enigma) porta Thomas H. Flowers (1905–1998) a progettare il Colossus.
Quest’ultimo rimase segreto per molto tempo, come tutta l’attività di Bletchley Park, mentre l’ENIAC conobbe una grande notorietà. Diversi scienziati chiesero di poterlo visitare e alla fine la Moore School, dove il computer era stato costruito, offrì loro il primo corso di informatica della storia, nell’estate del 1946.
Nel corso non si parlò solo dell’ENIAC : il massimo impatto lo ebbe l’EDVAC, la macchina “a programma memorizzato” pensata dagli stessi progettisti e dal matematico John von Neumann (1903–1957). Pur essendo ancora solo un progetto, per di più noto tramite un articolo che von Neumann lasciò in forma di bozza, fece esplodere un interesse fortissimo verso i computer elettronici.
La nascita dell’architettura del computer moderno
Furono gli Inglesi a costruire le prime macchine funzionanti secondo il nuovo paradigma: a Manchester, con il Mark I di Tom Kilburn (1921–2001) e Frederic C. Williams (1911–1977), e a Cambridge, con l’EDSAC di Maurice Wilkes (1913- 2010). In breve tempo i computer elettronici si moltiplicano e arrivano i primi modelli in vendita, come il Ferranti Mark I e il LEO (inglesi) e l’UNIVAC (statunitense).
I computer si fanno strada nelle applicazioni commerciali, fin qui regno delle tabulatrici a schede perforate dell’IBM. Con un po’ di ritardo, a fine decennio, arriviamo anche noi Italiani, con la costruzione del calcolatore scientifico CEP dell’Università di Pisa e del l’ELEA 9003 dell’ Olivetti, il cui prototipo fu anch’esso progettato a Pisa.
Negli anni Sessanta i computer sono ormai molto diffusi, sia in ambito scientifico che commerciale, ma restano enormi macchinari avvicinabili soltanto da tecnici specializzati. Siamo ben lontani dalle calcolatrici personali dalle quali la storia è partita; è possibile creare un computer personale? Diversi progetti in tal senso nascono in questi anni.
La Programma 101
Tra i primissimi posti (o proprio al primo, secondo alcuni) troviamo la nostra Programma 101, ideata dal gruppo di Pier Giorgio Perotto (1930–2002) in una Olivetti che proprio in quegli anni, per problemi finanziari, sta abbandonando il mercato dell’elettronica. La macchina viene presentata al BEMA Show di New York nel 1965. Ha l’aspetto di una grossa calcolatrice, ma ha il cuore di un computer e permette all’utente di scrivere i propri programmi, salvarli e rileggerli da schedine magnetiche. Ottiene anche un discreto successo commerciale, soprattutto negli Stati Uniti, e la Olivetti la pubblicizza per la prima volta come un oggetto che chiunque poteva usare.
Ma era una visione ancora prematura, forse nebulosa quanto quella di Ada Lovelace. La Programma 101, con la sua tastiera esclusivamente numerica e la sua stampante, resta uno strumento matematico per il professionista. Il computer davvero per tutti, libero dal mondo dei calcoli, arriverà gradualmente. Inutile cercare un momento di svolta: diventa sempre più piccolo, economico, facile da usare, versatile, ubiquo. Ormai riempie il nostro tempo libero con musica, video, informazioni; ci tiene in contatto con il mondo. Al suo interno, però, continua a fare quello per cui era stato pensato: interminabili sequenze di calcoli, annoiandosi al posto nostro.
Giuseppe Lettieri insegna Calcolatori Elettronici agli studenti Corso di Laurea in Ingegneria Informatica della Facoltà di Ingegneria di Pisa. Ha partecipato a molti progetti di ricerca. Insieme a Graziano Frosini ha pubblicato due volumi sull’Architettura dei calcolatori. È conservatore al Museo degli strumenti di calcolo di Pisa.