Le macchine da calcolo e l’informatica Lezione del corso di Storia della Tecnologia 12/05/2008 Filippo Nieddu
Le origini e gli approcci di base Approcci fondamentali per la replica mediante automi delle funzioni umane: riproduzione meccanica della forma (riduzionismo); riproduzione della funzione (olismo). Il passaggio cardine è dalla scultura semovente alla macchina operante. Orologio idraulico di Al-Jazari
Automi e orologi La concezione riduzionista porta alla costruzione di automi che ripetono e imitano frammenti di attività umane. Quando la necessità fu di misurare il tempo non ci si poté ispirare alla forma umana, e nacquero le “macchine”. Orologio meccanico di Al-Jazari
Utile e futile La differenza tra il primo e il secondo approccio è anche spesso visibile nella finalità degli oggetti: spesso gli automi sono fonte di divertimento; le macchine automatiche hanno finalità pratica (come nel caso di quella descritta da Al-Jazari per la misurazione del sangue prelevato); le due tipologie però alle volte si fondono (sempre nella macchina di Al-Jazari la ripetizione degli indicatori); il problema fondamentale, però, è la mancanza del motore primario, anche se i meccanici alessandrini e arabi utilizzarono i movimenti dell’aria, dell’acqua e di pesi.
Le prime macchine da calcolo Il tedesco Wilhelm Schickart (1592-1635) inventò la prima macchina da calcolo con riporto nel 1623. La costruzione della macchina non giunse però a compimento per la morte in un incendio dell’artigiano che la stava costruendo. Nell’incendio andò perduto anche il prototipo della macchina. Le tracce della macchina si trovano in una lettera di Schickart a Keplero, nella quale il primo dice che la macchina potrà divertire molto (rideres clare). La distanza tra utilità e futilità è ancora minima.
Leonardo da Vinci Alcuni disegni ritrovati nel 1967 indicano come Leonardo avesse risolto meccanicamente il problema dei riporti, ossia del passaggio alla potenza superiore. Il meccanismo è stato realizzato in una versione reale. Il meccanismo dei riporti di Leonardo
Nepero John Napier (Nepero) inventa i logaritmi, che rimarranno fino al Novecento lo strumento per eccellenza per eseguire e semplificare calcoli complessi. Nasce anche l'utilizzo della virgola per separare i decimali. Napier utilizza asticelle numerate per il calcolo. Le asticelle di Nepero per il calcolo dei logaritmi
Blaise Pascal Nel 1643 Blaise Pascal realizza la macchina che passerà alla storia con il nome di pascalina. Permetteva di effettuare automaticamente addizioni e sottrazioni con il riporto. La macchina ottenne una privativa il 22 maggio 1649. La machine arithmétique di Pascal
Il funzionamento La macchina di Pascal è un’addizionatrice ad azionamento diretto, in cui cioè i numeri sono totalizzati ruotando una manopola o una leva. In essa l’addizione è compiuta direttamente, la sottrazione per mezzo dei complementi, la moltiplicazione per mezzo delle addizioni ripetute e la divisione per la moltiplicazione del numero inverso o per sottrazioni ripetute.
Leibniz Gottfried Wilhelm Leibniz (1646-1716) costruì in un lungo periodo (1671-1694) una macchina da calcolo “a passi”, usando un ingranaggio cilindrico. Leibniz vuole alleggerire gli astronomi dai calcoli Egli fonda anche il calcolo binario, ripreso nel XX sec. La macchina di Leibniz
Il calcolo binario e combinatorio / 1 L'idea di fondo dell'“arte combinatoria” è di trovare una logica capace di dimostrare la verità di ogni proposizione, e anche di costruire nuove proposizioni con la certezza dei procedimenti matematici. Il “genere”, a partire dalla logica aristotelica, è una classe di enti con differenze specifiche fra loro ma con elementi comuni (che appunto definiscono il “genere”): ad esempio, nell'espressione “animale razionale”, il termine “animale” costituisce il “genere” che accomuna la “specie” degli uomini (definiti dalla razionalità) a tutte le altre e diverse “specie” di animali; “essere vivente” è un genere più ampio di “animale” e quindi contiene in sé altri generi. Il “genere sommo” è quello che non può essere contenuto in nessun altro genere (ad esempio, le categorie di Aristotele).
Il calcolo binario e combinatorio / 2 Leibniz propose di indicare i generi sommi con lettere, le quali, combinate fra loro, possano poi formare le “nozioni inferiori”. Come esempio prendiamo alcune delle categorie aristoteliche (generi sommi) e indichiamole con una lettera: sostanza (a); quantità (b); qualità (c); agire (d); luogo (e); tempo (f). Da un genere, attraverso la combinazione con gli altri generi, si trovano generi inferiori (o specie): la sostanza = uomo; la quantità = alto 180 centimetri; la qualità = bianco; l'agire = camminare; il luogo = in montagna; il tempo = ieri. Le combinazioni possibili danno, ad esempio: ab = gli uomini alti 180 centimetri; ac = gli uomini bianchi; bd = gli enti alti 180 centimetri che camminano; cf = gli enti bianchi che esistevano ieri; e cosí via. Ancora, combinando tre generi: abc = gli uomini bianchi alti 180 centimetri; bdf = gli enti alti 180 centimetri che ieri camminavano; e cosí via.
Il calcolo binario e combinatorio / 3 Si possono quindi, per semplificare le operazioni, unificare i generi: ab = l, per cui l = uomo alto 180 centimetri; ad = n, per cui n = uomo che cammina; e cosí via. Dunque, individuata una specie definita da una serie di generi sommi, si può verificare la corretta di tutte le proposizioni relative ad essa. Questa ricerca di Leibniz è importante, da un punto di vista filosofico generale, perché conferma l'esigenza di porre punti fissi e certi a fondamento dell'attività del pensiero.
Il calcolo binario e combinatorio / 4 Tavoletta I-Ching
La macchina di Poleni Nel 1709 vede la luce la macchina calcolatrice di Giovanni Poleni E’ la prima macchina da calcolo progettata in Italia (e forse anche l'unica traccia di invenzione italiana nel settore). Matematico ed ingegnere veneziano, Poleni illustrò i principi di costruzione di una macchina calcolatrice basata su pesi scorrevoli nel volume Miscellanea. La macchina di Poleni, da J.Leupold, Theatrum arithmetico-geometricum, Leipzing, Zunkel, 1727
Il telaio automatico di Jacquard Il telaio di Jacquard (1800-1801) è passo fondamentale, perché si tratta della prima macchina con schema di input -> processazione dati -> output. Lo schema è simile a quello di Von Neumann (metà XX secolo) Il telaio automatico di Jacquard
Le macchine di Charles Babbage Charles Babbage (1791-1871) concepì due macchine, dai nomi di “difference engine” (1822, mai realizzata sisicamente) e “analytical engine” (1834, mai completata). Babbage introduce l’idea di “programma”, fornito alla macchina mediante schede perforate. La macchina alle differenze di Babbage
La macchina analitica Babbage individua due operazioni fondamentali: il reperimento dei dati e la conservazione dei risultati parziali; lo svolgimento del calcolo vero e proprio. Le strutture che compiono queste operazioni sono: la memoria (store); il meccanismo di calcolo (mill). Le operazioni, non insite nella macchina ma fornite per mezzo delle schede perforate, sono iterative. Il ciclo può essere mutato cambiando le schede.
La macchina degli Scheutz Georg Scheutz (1785-1873) e suo figlio Edvard (1821-1881), svedesi, portarono a compimento l’opera di Babbage. La loro macchina prese esplicitamente le mosse dall’analytical engine, dotandola però di stampante per il completamento dell’output. La stampante funzionava secondo la tecnica della stereotipia. Essi ricevettero l’appoggio del governo svedese per lo sviluppo della macchina, cosa che Babbage aveva sempre avuto problemi a ottenere.
La logica formale George Boole (1815-1864) ridusse la logica a sistemi algebrici semplici nelle opere The Mathematical Analisys of Logics (1848) e soprattutto Investigations of the Laws of Thought (1854). 1 e 0 sono i simboli che rappresentano le parti fondamentali del discorso, and e or sono gli operatori fondamentali che le legano. E’ assunto condiviso che Boole sia stato indispensabile per lo sviluppo dell’informatica moderna.
La scrutatrice di Hollerith Le macchine per il voto 1871: macchina scrutinatrice di Charles Seaton 1880: macchina di Werner von Siemens 1878: “scrutatore elettro-magnetico-stampante” del deputato Antonio Roncalli 1889: brevetto di Herman Hollerith (1860-1929) La scrutatrice di Hollerith
Il brevetto di Hollerith / 1 L’elaborazione dei dati del censimento statunitense del 1880 durò 7 anni, con chiare ripercussioni sulla sua validità. Il Bureau of Census indisse così un concorso per trovare una macchina che potesse elaborare i dati più velocemente. Il concorso fu vinto dalla macchina di Hollerith, basata sullo stesso principio delle schede perforate adottato dal telaio Jacquard.
Il brevetto di Hollerith / 2 La macchina prevedeva la “trascrizione” della scheda censuaria per mezzo di una perforatrice a pantografo. Le schede erano poi selezionate da una cernitrice automatica che le indirizzava verso una delle 26 scatole presenti. La “lettura” fu in un primo momento compiuta da operatori umani, ma fu presto introdotta una macchina tabulatrice, nella quale dei contatori elettromeccanici erano sollecitati dalle perforazioni, e permettevano il conteggio. Inizia la storia della meccanografia elettromeccanica.
L’elettromeccanica e l’informatica La meccanografia non poteva superare certe velocità e certe precisioni, per cui questo sentiero tecnologico iniziò a segnare il passo. Dall’inizio del XX secolo diverse sperimentazioni portavano sempre più all’uso delle valvole (inventate all’inizio del Novecento). Nel 1929 l’IBM costruì una macchina a relè con registri per i dati, mentre alla fine degli anni Trenta si iniziava a usare la numerazione binaria per la rappresentazione nelle macchine da calcolo.
L’informatica Il Mark I nato nel 1943 nei laboratori della Harvard University consentì lo sviluppo della bomba atomica, ma la numerazione decimale e l’uso dei relè (dispositivo inventato nel 1831) lo rendevano immenso e difficilmente manutenibile. L’Eniac, nato nel 1946, è una macchina a valvole (ossia diodi, inventati nel 1904, e triodi, che videro la luce nel 1907), che utilizzava una codifica binaria. Si tratta del primo vero calcolatore elettronico. Nel frattempo, nel 1947 nasce il transistor.
Riferimenti bibliografici essenziali Mario G. LOSANO, Storia delle macchine da calcolo e storia sociale, in Vittorio MARCHIS (ed.), Storia delle scienze, vol. V, Conoscenze scientifiche e trasferimento tecnologico, Torino : Einaudi, 1995 Charles SINGER (ed.), Storia della tecnologia, Torino : Bollati Boringhieri, 1995 Doron SWADE, The Difference Engine: Charles Babbage and the Quest to Build the First Computer, London : Penguin, 2002