Fork me on GitHub
con Valerio Galano

Il podcast dove si ragiona da informatici

Un informatico risolve problemi, a volte anche usando il computer

Riflessioni e idee dal mondo del software

Episodio del podcast

Gli antenati del computer

23 marzo 2021 Podcast Episodio 55 Stagione 1
Gli antenati del computer

Descrizione

Un tuffo nella storia con una carrellata di macchine straordinarie che hanno portato al moderno computer.

I link dell’episodio di oggi:
Breve e universale storia degli algoritmi* - https://amzn.to/2NIVZTC

——————————————
Sito ufficiale di Pensieri in codice - https://pensieriincodice.it

Attrezzatura:
Shure Microfono Podcast USB MV7* - https://amzn.to/3862ZRf

Sostieni il progetto

Sostieni tramite Satispay
Sostieni tramite Revolut
Sostieni tramite PayPal
Sostieni utilizzando i link affiliati di Pensieri in codice: Amazon, Todoist, Readwise Reader, Satispay

Partner

GrUSP (Codice sconto per tutti gli eventi: community_PIC)
Schrödinger Hat

Crediti

Montaggio - Daniele Galano - https://www.instagram.com/daniele_galano/
Voce intro - Costanza Martina Vitale
Musica - Kubbi - Up In My Jam
Musica - Light-foot - Moldy Lotion
Cover e trascrizione - Francesco Zubani

Mostra testo dell'episodio

Nascondi

Quella che segue è una trascrizione automatica dell'episodio.

Pensieri in codice. Idee dal mondo del software a cura di Valerio Galano. Salve a tutti ragazzi e bentornati su Pensieri in codice. Come informatici siamo ormai abituati ad avere sulla nostra scrivania o nel palmo della nostra mano un’enorme potenza di calcolo. Strumenti come i tablet, i pc o gli smartphone sono ormai entrati stabilmente a far parte delle nostre vite, ma c’è stato ovviamente un tempo in cui tutto questo non esisteva. Un tempo in cui certi determinati problemi che oggi a noi appaiono così semplici richiedevano invece un enorme dispendio di risorse ed è solo nel corso di molti secoli e grazie all’impegno di varie menti geniali che si è poi potuto aggiungere a quello che noi oggi conosciamo come il computer. In questo episodio dunque ripercorreremo brevemente le storie di inventori e invenzioni che possono a tutti gli effetti essere considerati gli antenati del computer. Per capire la storia che ha portato alla nascita di uno strumento come il computer bisogna rendersi conto che fin dall’antichità l’umanità intesa come le più grandi menti studiose hanno sempre inseguito il desiderio di automatizzare quelli che erano compiti e calcoli lunghi e complicati di cui avevano bisogno per i propri studi. Se infatti ideare e sviluppare un nuovo metodo di risoluzione di un problema, quello che noi oggi chiameremo algoritmo, richiedeva una grande dose di ingegno e di inventiva. Allo stesso tempo applicare quelle che erano operazioni monotone su grandi numeri e per un tempo anche a volte molto prolungato non era affatto semplice e nemmeno appagante e molto spesso era causa di molti errori. Testimonianze di questo desiderio ne abbiamo già dal 150 avanti cristo anno al quale si fa risalire la più antica macchina automatica della storia, il planetario di Archimede e c’è una macchina che serviva a calcolare il movimento degli astri. Non si tratta certo di un tipo di calcolo generalista ma all’epoca il movimento degli astri era una delle scienze più importanti, cosa che dimostra anche il di poco successivo meccanismo di Antichitera. Entrambe queste macchine anche se di fattura abbastanza diversa erano dotate di una serie di meccanismi e ingranaggi il cui scopo era quello di effettuare un calcolo automatico sulla posizione degli astri. Tra le altre cose il planetario di Archimede era in grado di predire eclissi di luna e come da legge di Zuboff i romani utilizzarono questa sua capacità per scopi bellici. Un secondo passo nel campo del calcolo automatico si ebbe poi nel 1642. Erano trascorsi circa 500 anni da quando un matematico conosciuto col nome di Fibonacci aveva portato in Europa un testo del matematico arabo Helhauarizmi nel quale erano riportati i primi algoritmi conosciuti per la risoluzione delle operazioni di base. Nel corso di questo mezzo millennio l’utilizzo del sistema di numerazione arabo e delle operazioni ad esso collegate si era diffuso ormai in tutta Europa e appunto nel 1642 Blaise Pascal inventò una macchina in grado di fare somme e sottrazioni in modo automatico. Questo proprio per aiutare il padre che all’epoca lavorava come riscossore delle tasse. Questa macchina prodigiosa ovviamente per l’epoca era conosciuta come la Pascalina e funzionava con tutta una serie di ingranaggi che permettevano di calcolare il riporto. Pare addirittura che con l’aiuto di un orologiaio Pascal fosse riuscito a costruirne ben una ventina di esemplari. Esemplari che poi finirono nelle mani di personaggi famosi. Questa Pascalina era così sorprendente per l’epoca che nel corso degli anni successivi furono progettate e costruite tutta una serie di macchine ispirate ad essa in grado di svolgere somme e sottrazioni. Ma la vera innovazione avvenne quando il filosofo Leibniz nel 1672 presentò la propria macchina aritmetica. Cioè una macchina che era in grado di fare anche moltiplicazioni e divisioni. Infatti esserà dotata di un meccanismo chiamato tamburo a denti scalati il quale era in grado di memorizzare il numero da moltiplicare o da dividere. A questo punto per avere un ulteriore passo avanti si dovranno aspettare circa altri 150 anni ed in particolare gli anni 20 del 1800. In questo periodo un problema molto sentito riguarda il calcolo delle rotte di navigazione. A quel tempo infatti le navi che si trovavano in navigazione lontane dalle coste per calcolare le proprie rotte dovevano fare una serie di operazioni che comprendevano la posizione del sole, della luna, dell’orizzonte e una serie di numeri riportati su quelle che all’epoca erano conosciute come le tavole astronomiche e le tavole matematiche. Il problema grosso di questi strumenti matematici è che tutti i calcoli venivano effettuati a mano e pertanto queste tavole erano fondamentalmente piene di errori. Fu proprio questo il motivo che spinse il Regno Unito a finanziare il progetto di un astronomo chiamato Charles Babbage. Questi ideò una macchina in grado di calcolare le differenze di polinomi e grazie ad uno studio del matematico Taylor si rese conto che esse potevano essere utilizzate per calcolare qualsiasi tipo di funzione matematica. Realizzò quindi un prototipo ed ottenne i fondi dal governo per costruire la propria macchina. Purtroppo però questa si rivelò davvero troppo complessa da costruire. Dopo circa 10 anni di lavoro e 10.000 pezzi costruiti, il governo del Regno Unito decise di interrompere i fondi. Pare infatti che per ultimare la macchina sarebbero servite altre 15.000 parti senza contare il tempo per assemblare il tutto e questo investimento era già costato quasi 18.000 sterline. Fortunatamente però proprio mentre i fondi si stavano per esaurire Babbage ebbe una seconda idea per una seconda macchina ancor più rivoluzionaria che chiamò macchina analitica. Ora c’è un dettaglio importante da considerare. Tutte le invenzioni descritte finora sono sì macchine automatiche ma in realtà nessuna di queste può essere considerata un vero e proprio antenato del computer. Un computer infatti è una macchina che può svolgere qualsiasi tipo di compito numerico, basta programmarla per farlo. Le macchine finora descritte invece sono in grado di svolgere uno e un solo compito cioè quello per cui sono state costruite. La seconda macchina di Babbage invece era un computer a tutti gli effetti, almeno nella teoria. A partire dal suo progetto infatti fu scritto il primo vero e proprio programma della storia e fu anche ideato il meccanismo di memorizzazione dei programmi su schede perforate, meccanismo che verrà utilizzato fino all’incirca al 1970. L’unico piccolo problema della macchina analitica di Babbage è che in realtà non fu mai realizzata e questo perché avrebbe necessitato per funzionare di un motore a vapore e sarebbe stata lunga circa 30 metri e larga 10. Infine per arrivare a quello che viene considerato il vero e proprio computer universale dobbiamo aspettare fino al 1936. In quest’anno infatti il famoso matematico Alan Turing propone un suo progetto che oggi si chiama la macchina di Turing il cui obiettivo era quello di risolvere un problema posto pochi anni prima da un altro famoso matematico David Hilbert il quale si chiedeva se esistesse un algoritmo in grado di dimostrare teoremi di matematica a partire dagli assiomi. Ora senza scendere nei dettagli matematici quello che ci interessa è sapere che Turing per dimostrare che nessun algoritmo poteva risolvere il problema richiesto da Hilbert dovette costruire un modello teorico di computer e questo doveva essere abbastanza sofisticato da essere in grado di eseguire qualsiasi algoritmo e inoltre Turing dovette anche dimostrare che questo suo teorico computer non era in grado di risolvere il problema posto da Hilbert. Cercando quindi di risolvere tutto un altro problema Turing gettò le basi per una macchina che fu realmente costruita a Bletchley Park nel 1944 e che prese il nome di Colossus. Da quel momento in poi i passaggi successivi porteranno da computer grandi quanto intere stanze ad apparecchi in grado di essere posizionati su di una scrivania. La Olivetti programma 101 è infatti il primo personal computer della storia ed è stato anche utilizzato dalla nasa per mandare l’uomo sulla luna. Per oggi il nostro viaggio fra gli antenati del computer finisce qui. Avrei voluto parlare un po’ anche della Olivetti e della sua 101 ma non lo faccio per due motivi. Il primo è che ne abbiamo già parlato dal punto di vista storico in un vecchio episodio e vi invito a recuperarlo. Il secondo è che la storia che c’è dietro questo computer e l’azienda che lo produceva mi ha fatto molto incazzare e per questo voglio dedicarvi un’intera puntata perché sono convinto che dobbiate incazzarvi anche voi. Per oggi quindi ci fermiamo qui, io come al solito vi ringrazio per avermi ascoltato, spero che l’episodio vi sia piaciuto, vi invito a commentare e unirvi al gruppo telegram, ormai lo sapete, e vi saluto ricordandovi che un informatico risolve problemi a volte anche usando il computer.

Nascondi