CULTURA

Pietro Greco e la sua Storia del computer, prima del computer

Oggi è il primo anniversario della morte di Pietro Greco, giornalista e saggista scientifico e nostro caporedattore fino al 18 dicembre scorso. Pietro Greco ha guidato il rinnovamento del nostro giornale verso l’attuale format, quotidiano, indipendente e crossmediale dal 2018. Ha anche indicato una linea editoriale, condivisa con il direttore Telmo Pievani, centrata su un’idea di cultura unica, fortemente fondata sulla scienza, sul sapere critico ma anche su un’ampia conoscenza storica, umanistica, artistica. 

Ci piace ricordare Pietro attraverso la pubblicazione di una sua storia del computer, in parte già pubblicata online sul sito Scienza e… per Doppiavoce. Da oggi la riproponiamo in quattro puntate, completa, e arricchita di link e immagini. Ringraziamo Francesca Buoninconti per aver condiviso i testi con noi e Emilia Di Pace che ci ha permesso di pubblicarli nella loro interezza. Ci sembra che questi testi ben rappresentino la capacità di Pietro Greco di raccontare una storia seguendone i fili e gli sviluppi in diverse direzioni, avanti e indietro nel tempo e secondo percorsi autonomi che poi convergono, come spesso accade nella scienza, ma sempre con rigore e stile. 

In questa occasione vogliamo anche preannunciarvi che stiamo lavorando a una raccolta sistematizzata degli articoli che Pietro Greco ha scritto per il nostro giornale e che saranno pubblicati in un libro, all’interno della collana I libri de Il Bo Live, a inizio 2022. 

Storia del computer prima del computer

Per iniziare la nostra breve storia dell’avvento del computer chiediamo aiuto a uno dei suoi protagonisti, Alan Turing, il logico inglese che nel 1945 redige la sua Proposta per lo sviluppo nella Divisione Matematica di una macchina calcolatrice elettronica (ACE). Dove ACE sta per Automating Computing Engine: macchina per il calcolo automatico.

Le macchine calcolatrici sono state progettate in passato per eseguire in maniera accurata e moderatamente veloce piccole parti di calcoli che ricorrono di frequente. I quattro processi di addizione, sottrazione, moltiplicazione e divisione, insieme forse a ordinamento e manipolazione, esauriscono tutto quello che poteva essere fatto fino a pochissimo tempo fa, se escludiamo le macchine come l’analizzatore differenziale, le gallerie del vento e simili, che operano con misure di grandezze piuttosto che con calcoli.

Il calcolatore elettronico che viene qui proposto dovrebbe essere qualcosa di diverso, in quanto sarà in grado di affrontare e risolvere problemi nella loro interezza. Invece di servirsi a reinserirlo al momento giusto, di tutto questo si prenderà cura la macchina stessa. Questa soluzione ha moltissimi vantaggi:

  1. La velocità della macchina non sarà più limitata dalla velocità dell’operatore umano.
  2. L’elemento umano di fallibilità sarà eliminato, benché in qualche misura possa essere sostituito dalla fallibilità meccanica.
  3. Si potranno eseguire processi molto più complicati di quelli che potrebbero essere facilmente trattati con il lavoro umano.

Quella che Turing, con estrema chiarezza, propone di costruire in Inghilterra è dunque una macchina che presenta due novità: una concettuale, l’altra fattuale. Primo: deve essere una macchina che lavora in maniera automatica, in modo da superare di diversi ordini di grandezza la potenza di calcolo dell’uomo. Secondo: deve essere una macchina elettronica. 

Quello di Alan Turing, descritto in alcuni scritti raccolti in italiano nel libro Intelligenza meccanica da Bollati Boringhieri nel 1980,  è un computer inteso nel senso più moderno del termine. Anche se ACE non è il primo computer proposto.

Quella del computer non è la storia di una singola invenzione ma di un processo, anzi di diversi processi

In realtà, quale sia la prima volta che l’idea di computer è stata avanzata e, persino, quale sia la prima volta che un computer è stato realizzato non è semplice da definire. Giustamente Richard Wesley Hamming, un matematico che dell’informatica è stato uno dei pionieri, in apertura del libro A History of Computing in the Twentieth Century, uscito nel 1980 a cura di Nicholas Metropolis, Jack Howlett e Gian Carlo Rota, invita chi si accinge a ricostruirne la storia che il computer non è stata una scoperta o un’invenzione realizzata da una persona precisa in un tempo preciso, ma è la storia di un processo. Anzi, di diversi processi autonomi che hanno trovato infine un concreto punto di convergenza. 

Il primo processo riguarda l’idea, il progetto e la concreata realizzazione di un symbol manipulator, di una macchina capace di manipolare simboli. Un secondo processo autonomo riguarda l’idea, il progetto e la concreta realizzazione di un number cruncher, di una macchina capace di “macinare numeri” in gran quantità e grande velocità. La differenza è evidente: il manipolatore di simboli opera, per così dire, in termini qualitativi, sulla semantica. Il “macina numeri” opera sulla potenza: sulla quantità di calcolo. Quando Alan Turing, come vedremo, elabora nel 1936 l’idea teorica del computer ha in mente una macchina capace di manipolare simboli. Quando, invece, nove anni dopo, nel 1945, propone ACE, ha in mente una macchina capace di “macinare numeri”. Allo stesso modo, quando Arthur Burks, Herman Goldstine e John von Neumann, nel 1947, propongono a Preliminary Discussions of the Logical Design of an Electronic Computing Instrument hanno in mente sia un number cruncher che un symbol manipulator.

Ma c’è un terzo processo autonomo che converge verso l’idea che abbiamo oggi del computer e riguarda il linguaggio. Ogni macchina funziona sulla base di istruzioni, che sono scritte appunto in un certo linguaggio: con tanto di lettere – oggi è predominante il codice (ovvero il linguaggio) binario che di “lettere” ne usa solo due, i numeri 0 e 1 – di parole e di frasi. Ogni computer funziona adottando un linguaggio. Ma di linguaggi ce ne sono diversi – si va da quelli di base (il “linguaggio macchina”) a quelli più specifici e complessi (i “linguaggi di alto livello”).

Ebbene, questi tre processi – la realizzazione di number cruncher, di symbol manipulator e di elaborazioni di linguaggi informatici – hanno avuto storie evolutive diverse. Talvolta si sono intersecati, altre volte hanno imboccato percorsi paralleli, con tempi e intensità di sviluppo diversificati.

È sulla base di tutte queste premesse, con molta prudenza e un pizzico di arbitrarietà che possiamo tentare di ricostruire, a volo di uccello, la storia dello “sviluppo” del computer e non della sua “invenzione”.

Dagli antichi a Blaise Pascal: le macchine per calcolare

Strumenti, che solo in senso esteso possiamo chiamare macchine per calcolare infatti esistono, come usa dire, dalla notte dei tempi. È probabile che anche gli uomini del paleolitico ne utilizzassero qualcuno di tipo estremamente semplice, su cui effettuare conti come con le dita di una mano. Di certo i Babilonesi nel XXV secolo e i Cinesi nel XXI secolo a.C. usavano l’abaco che è una macchina, certo non automatica, per effettuare conti in maniera non solo più semplice, ma anche più veloce. Strumenti di questo genere sono diventati, nel corso dei secoli, meccanismi (quindi macchine) sempre più sofisticati.

È il caso del “meccanismo di Antikythera”, che qualcuno considera il primo, autentico computer meccanico al mondo. È stato ritrovato nel 1902 nei fondali prospicienti l’isola di Creta. Ma molto probabilmente è stato realizzato a Siracusa intorno al 150 a.C. o forse al 250 a.C.. Qualcuno ipotizza che sia opera diretta di Archimede, il grande matematico e fisico siracusano morto per mano di un soldato romano nel 212 a.C.. Di certo il meccano è, insieme, complicato, complesso e geniale. Grande con un grosso volume (30 cm per 15 cm), è costituito da una ventina di ruote dentate, alcune estremamente miniaturizzate (uno dei settori, grande non più di 7 millimetri, contiene 5 ingranaggi) ed è dotato di un differenziale. Grazie a questi e altri accorgimenti questo computer meccanico è capace di calcolare con precisione i moti del Sole, della Luna con le sue fasi, dei cinque pianeti, i mesi, gli equinozi e persino le date delle Olimpiadi.

In realtà il “meccanismo di Antikythera” non è l’unico strumento sofisticato del genere in uso in pieno ellenismo. Macchine per lo studio dei cieli e il calcolo astronomico erano in uso in diversi luoghi. Anche se pochi sono giunti fino a noi e nessuno, per quanto a nostra conoscenza, è sofisticato come quello di Antikythera. Certo però che proprio in quell’epoca fu inventato l’astrolabio, uno strumento prezioso per il calcolo dell’altezza, appunto, di un astro rispetto all’orizzonte. L’inventore dell’astrolabio è probabilmente Ipparco, uno dei più grandi astronomi ellenistici e di ogni tempo.  

La scienza e la tecnologia ellenistica fu dimenticata, in buona sostanza, dai Romani, ma fu ripresa e sviluppata in epoca araba. I matematici e gli astronomi di religione islamica che tra l’VIII e il XV secolo hanno messo a punto congegni sofisticati per il calcolo, soprattutto astronomico, sono svariati. Ricordiamo solo Abū Rayhān al-Bīrūnī, che nell’XI secolo mette a punto planisferi e astrolabi piuttosto avanzati, come quello basato sul calendario lunare, e Jamshīd Masʿūd al-Kashī, che nel XV secolo realizza uno strumento capace di prevedere la “congiunzione” tra due pianeti.

La prima volta che viene utilizzata la parola “computer”, a quanto se ne sa, è ovviamente in Inghilterra, nel 1613, in un’opera, The Yong Mans Gleanings, in cui il poeta nato a Burnishead nella contea di Cumbria, Richard Braithwaite, riferisce di aver sentito parlare del “truest computer” (del computer più preciso), ovvero del miglior aritmetico che sia mai apparso sulla Terra. Braithwaite si riferisce a un uomo, naturalmente, capace di fare calcoli in maniera estremamente veloce (3).

Probabilmente non è un caso che la parola computer sia stata confezionata da un poeta. Ma soprattutto non è un caso che sia stata confezionata all’inizio del XVII secolo, quando in Europa la matematica inizia a incontrare la fisica. Intorno al 1580 il francese François Viète introduce i simboli in algebra, distinguendo tra “logistica speciosa” e “logistica numerosa”. Nel 1617 lo scozzese John Napier inventa i logaritmi (e propone l’uso della virgola nella numerazione decimale). E immediatamente dopo, tra il 1620 e il 1630, gli inglesi Edmund Gunter, William Oughtred e Richard Delamain mettono a punto dei regolo calcolatori – dei computer a mano – molto efficienti nel calcolarli.

Non si tratta di novità assolute. Non aveva forse, già qualche lustro prima, l’italiano Galileo Galilei da un lato reso sempre più sofisticati i compassi e regoli utilizzabili per numerosi tipi di calcolo e dall’altro inventato il “celatone”, uno strumento in gradi di calcolare la longitudine di una nave senza punti di riferimento terrestri sulla base del calcolo dei moti dei satelliti di Giove? 

Una novità di non poco conto è, tuttavia, la macchina messa a punto nel 1623 da Wilhelm Schickard: è in grado sia di effettuare addizioni e sottrazioni in maniera completamente automatica sia moltiplicazioni e divisioni in maniera semi-automatica. Sfortunatamente la macchina andò distrutta in un incendio e poco dopo Schickard morì. L’esistenza di quel computer automatico non è provata in maniera certa, ma è  tuttavia molto verosimile, perché è stato di recente ricostruito sulla base delle indicazioni scritte lasciate dal tedesco contenute in alcune lettere a Johannes Kepler.   

Ma, sia come sia, la domanda di matematica, da parte dei fisici e dei tecnici, fa sì da un lato che si sviluppi la disciplina – basti ricordare la geometria analitica “inventata” da René Descartes nel 1637 e il calcolo differenziale, sviluppato alla fine del Seicento da Isaac Newton e da Gottfried Leibniz – e dall’altro si sviluppino regolo calcolatori e altri strumenti in tutto il XVII e poi anche nel XVIII secolo diventi sempre più accelerato. 

Emblema di questa convergenza sono Blaise Pascal e una sua macchina – nota come “macchina di Pascal” o anche “pascalina” – realizzata tra il 1642 e il 1644. È un congegno con una serie di ruote dentate, capace di effettuare addizioni e sottrazioni (ma non moltiplicazioni e divisioni) con numeri fino a dodici cifre e di tener conto dei riporti. Il matematico e filosofo francese ne realizza il primo esemplare per aiutare il padre, funzionario delle imposte, a tenere la sua contabilità. In seguito ne produrrà almeno una cinquantina di esemplari. La “pascalina” diventa subito piuttosto nota, tanto da guadagnarsi, a oltre un secolo di distanza, un discreto spazio nell’Encyclopédie di Diderot.

Prima in Francia e Germania

Trent’anni dopo un altro grande matematico e filosofo, il tedesco Gottfried Leibniz, sviluppa la “macchina di Pascal” e crea un dispositivo, noto come “la ruota di Leibniz”, capace non solo di effettuare le operazioni lineari (addizione e sottrazione), ma anche moltiplicazioni e divisioni. Leibniz mostra la sua ruota nel 1673 sia alla Académie des Sciences a Parigi sia alla Royal Society di Londra. Quest’ultima lo elegge, anche per questo, a suo membro. 

Leibniz, da buon filosofo, rileva l’autentica novità della sua macchina: «Anche gli astronomi, certamente, non dovranno più esercitare tutta l’enorme pazienza che è necessaria per i loro calcoli. È questo che li trattiene dal calcolare o correggere le tavole, dal costruire le Efemeridi, dal lavorare su ipotesi e dal discutere le osservazioni con altri. Non è degno di un uomo eccellente perdere ore come uno schiavo a far di conto, ore che potrebbero essere sanamente dedicate a qualcos’altro, se [per fare i calcoli] fossero usate le macchine». 

Come scrive Hermann Goldstine, questa nota scritta da Leibniz oltre tre secoli fa, è il cuore della storia che stiamo scrivendo: la costruzione di macchine che consentano all’uomo di liberarsi, finalmente, dalla fatica di calcolare e gli regalino più tempo per pensare.

Leibniz, tuttavia, fornisce anche un notevole contributo teorico alla storia del computer. Nella Dissertatio de arte combinatoria ripropone con una chiave nuova la logica formale, sostenendo di essere alla ricerca di «un metodo generale in cui tutte le verità della ragione siano ridotte a una qualche specie di calcolo». In pratica propone una chiave nuova per lo sviluppo della logica formale, sostenendo che i suoi enunciati possono essere dedotti in maniera rigorosa – in analogia con la geometria di Euclide – da pochi concetti essenziali ridotti in simboli. In questo modo si può matematizzare la logica, riducendola in buona sostanza ad algebra (algebra logistica). Proprio per questo, aggiunge Leibniz, se il risultato della deduzione ridotto a calcolo è coerente, allora dove essere vero. 

Dunque Leibniz non mette a punto solo il primo number cruncher automatico, ma inizia a gettare le basi teoriche per un symbol manipulator. Inoltre sostiene la possibilità e, anzi, la necessità per gli uomini di scienza di liberarsi dalla schiavitù dei calcoli grazie a macchine automatiche; infine ipotizza che le macchine automatiche possano essere utilizzate per testare ipotesi scientifiche. Non c’è dubbio, Leibniz deve essere considerato uno dei padri dell’informatica e della simulazione al computer.

Le idee del tedesco sulla logica formale non vengono gran che riprese nel Seicento e nel Settecento. Ma diventeranno fertili solo più tardi, nel XIX secolo e nel XX secolo, quando verranno riproposte sia da matematici, come George Boole e da Richard Courant, sia da logici, come Bertrand Russell.

Poi in Svizzera e infine in Inghilterra

Se quelli di Pascal e di Leibniz possono essere considerati prototipi di una number cruncher, una macchina “macinatrice di numeri”, gli automi che l’orologiaio svizzero Pierre Jaquet-Droz mette a punto tra il 1767 e il 1774 possono essere considerati prototipi di una symbol manipulator, una macchina capace di manipolare simboli. Gli automi realizzati da Jaquet-Droz e degni di nota, almeno per la nostra storia, sono tre: lo Scrittore, la Musicista e il Disegnatore. Il primo, completato nel 1772, è anche il più complicato. Si tratta di un androide costituito all’incirca da seimila pezzi, dai tratti fanciulleschi, seduto su una sedia stile Luigi XIV e con una penna d’oca in mano. Lo Scrittore è in grado di intingere la penna in un calamaio pieno di inchiostro, di scrivere un testo di 40 caratteri al massimo con frasi disposte su quattro diverse righe e di seguire con gli occhi quanto scrive. L’automa dispone di ben 40 camme (dispositivi che trasformano un moto rotatorio continuo in moto alternato), ma ciò che lo rende davvero particolare è un disco programmabile che gli consente non solo di scrivere dei testi senza alcun intervento esterno, ma anche di scrivere qualsiasi parola.  

Lo Scrittore, la Musicista e il Disegnatore girano per l’Europa e consegnano a Pierre Jaquet-Droz grande fama e un bel po’ di quattrini. Ma non è di grande utilità pratica. 

A differenza della tide-predicting machine, la macchina capace di prevedere con precisione l’andamento delle maree realizzata esattamente un secolo dopo, nel 1872, dal britannico William Thomson. La macchina utilizza dei ball-and-disk integrators, dei dispositivi, ovviamente meccanici, capaci di integrare gli input in arrivo. Il grande fisico, che diventerà noto come Lord Kelvin, nel 1976 realizza anche un “analizzatore differenziale”, una macchina, cioè, capace di risolvere equazioni differenziali. In realtà, tenta di realizzare. A un certo punto desiste, perché i risultati che ottiene lo deludono.

Domani la seconda puntata: Dalle macchine di Charles Babbage ai computer meccanici.

© 2018 Università di Padova
Tutti i diritti riservati P.I. 00742430283 C.F. 80006480281
Registrazione presso il Tribunale di Padova n. 2097/2012 del 18 giugno 2012