1157048386

Storia del software

Come i programmi informatici hanno cambiato le nostre vite.

di Andrea Signorelli
23 marzo 2020
9 min di lettura
diAndrea Signorelli
23 marzo 2020
9 min di lettura

Siamo talmente abituati a utilizzare software in qualunque momento della giornata, che tendiamo a dimenticarci della straordinaria importanza che rivestono nelle nostre vite. Usiamo software per scrivere o per navigare sul web, per scattare e modificare fotografie, per inviare mail o messaggi su WhatsApp. Non solo: sempre più spesso i software regolano il funzionamento delle nostre automobili, dei termostati di frigoriferi, lavatrici.

L’elenco è interminabile. La maggior parte delle azioni quotidiane vengono eseguite attraverso un programma informatico, al punto che uno dei guru della Silicon Valley, Marc Andreessen, ha scritto che “i software stanno divorando il mondo”. Un’affermazione forte dietro la quale non si nasconde nessuna critica, bensì la constatazione di come gli strumenti digitali che ogni giorno ci permettono di compiere le nostre attività, abbiano raggiunto un’eccezionale influenza su tutti noi.

Questo non vale soltanto per i programmi di uso comune, ma anche per i software che stanno alla base di alcune delle più grandi innovazioni degli ultimi anni. L’intelligenza artificiale, (un software) è in grado di elaborare immense quantità di big data permettendoci di riconoscere i tumori della pelle più accuratamente di un medico, di tradurre da una lingua all’altra con una precisione sempre maggiore, solo per fare qualche esempio. La blockchain ha rivoluzionato il mondo della finanza e sta entrando nel processo di innovazione delle imprese e delle Pubbliche Amministrazioni. Lo stesso vale per i programmi che consentono ai supercomputer di sequenziare il genoma umano o di fare previsioni meteorologiche sempre più accurate.

Alcuni dei software più importanti hanno cruciali applicazioni industriali: è il caso di Echelon, sviluppato grazie alla partnership tra Eni e la statunitense Stone Ridge Techology. Tecnicamente, è un “simulatore avanzato di giacimento per l’ottimizzazione del monitoraggio, sviluppo e produzione di petrolio e gas”. In parole più semplici, si tratta di un programma capace di simulare il comportamento dei giacimenti. Eni se ne avvale nelle sue interpretazioni e decisioni aziendali. A differenza di altri prodotti già presenti sul mercato, Echelon presenta tempi di elaborazione ridotti, mantenendo però, grande precisione. Assieme ad HPC5, il supercomputer annunciato a ottobre 2019, che porterà la potenza di calcolo a disposizione fino a 52 petaFLOPS (52 milioni di miliardi di operazioni al secondo), rappresenta una nuova importante tappa verso il traguardo della trasformazione digitale.

Ci si sofferma, sempre più sulla potenza dei computer e si presta meno attenzione all’operato dell’uomo, che permette di mettere a frutto la capacità di calcolo delle macchine. Riprendendo un celebre slogan, si potrebbe dire che “la potenza è nulla senza il controllo”. Una frase semplice ma forte, che riflette la necessità di trovare un equilibrio.


Il software Echelon utilizza la capacità di calcolo dell'HPC

Alle origini dei software

Si afferma che un domani si riuscirà a raggiungere un’intelligenza pari a quella umana. Se e quando ciò avverrà, sarà la tappa conclusiva di un percorso iniziato molto tempo fa. Tutto iniziò con interminabili sequenze binarie di 0 e 1, la programmazione in codice binario, nata oltre un secolo prima dei primi prototipi di computer. È infatti il 1725 quando Basile Bouchon (che lavorava nell’industria tessile) ha un’intuizione straordinaria: creare una scheda perforata per dare a un telaio i comandi necessari per disegnare automaticamente sulla stoffa le fantasie da lui desiderate. Sembra una cosa talmente distante dai software di oggi, da aver poco senso metterle a confronto. Eppure, nell’alternanza tra buco e assenza di questo, si ritrova la stessa logica del codice binario.  Il primo mattone della programmazione è stato posto quasi tre secoli fa.

Bisogna però andare avanti di un secolo, per incontrare colei che è stata definita “la prima programmatrice della storia”. Ada Lovelace, nasce a Londra nel 1815 dal poeta Lord Byron e dalla matematica Anne Isabella Milbanke e mostra fin da giovanissima un’intelligenza matematica fuori dal comune. È solo un’adolescente quando incontra per la prima volta il professore di Matematica dell’università di Cambridge Charles Babbage, che stava progettando due primi prototipi di i computer: la Macchina Differenziale, in grado di eseguire alcune equazioni in maniera automatica e senza errori e la Macchina Analitica, in grado di eseguire qualunque forma di calcolo. A causa degli eccessivi costi, nessuna delle due macchine venne costruita all’epoca, ma questo non impedì a Babbage di tenere conferenze in cui spiegava la teoria alla base delle sue invenzioni. Una di queste, si tenne a Torino nel 1842 e venne trascritta in francese dal matematico italiano Luigi Menabrea. 

Ada Lovelace, nel frattempo diventata contessa, venne incaricata di tradurre il manoscritto in inglese. Quando l’anno successivo terminò il lavoro, le sue note erano talmente abbondanti da triplicare la lunghezza del testo originario. Oltre a mostrare al mondo e a Babbage stesso, che ne rimase molto colpito, la sua comprensione perfetta del funzionamento delle due macchine, la Lovelace ne approfittò per descrivere ciò che passerà alla storia come il “primo programma informatico di tutti i tempi”. Il compito del software progettato da Lovelace (che non venne praticamente realizzato) era di calcolare i numeri di Bernouilli. Per la prima volta, un dispositivo venne istruito per portare a termine un procedimento di calcolo che, attraverso un numero finito di regole, porta ad un risultato dopo un numero finito di operazioni. In poche parole, Ada Lovelace creò un software basato su un algoritmo: una parola che oggi, nel 2020, è una delle più comuni , quando si parla di intelligenza artificiale o di altre innovazioni digitali.

Ada Lovelace è una visionaria. Già ai tempi dell’Inghilterra vittoriana riuscì a intuire che i numeri possono rappresentare molto più che semplici quantità, immaginando che in un domani i computer avrebbero potuto comporre musica, disegni ed essere impiegati nelle più importanti materie scientifiche. Tutto ciò si è poi dimostrato vero, anche se per confermare le sue visioni sarà necessario oltre un secolo.


Da Turing alla replica del cervello

A trarre ispirazione dalla Lovelace è il matematico britannico Alan Turing, che durante la Seconda Guerra Mondiale cercò di decifrare “Enigma”, la macchina con cui i tedeschi criptavano le loro comunicazioni. Ada Lovelace viene citata nel testo fondamentale di Turing, “Computing Machinery and Intelligence”, in cui l’autore esamina la possibilità che, un giorno, le macchine possano pensare.

Siamo ormai a giunti all’alba dei primi veri software. Sfruttando a sua volta alcune delle intuizioni di Turing (e in particolare quelle relative alla Macchina di Turing), l’informatico ungherese John von Neumann nel 1945 crea infatti l'EDVAC (Electronic Discrete Variables Automatic Computer): la prima macchina digitale programmabile tramite software e basata su quella che venne battezzata l'architettura di von Neumann.

Grazie a tutti questi pionieri, vengono poste le basi del software. Le prime rivoluzionarie applicazioni dei software, iniziano gradualmente a fare comparsa nei laboratori di ricerca. Dal mondo della scienza ci si sposta gradualmente verso le funzionalità intese per il consumo di massa. Nel 1961 nasce Spacewar, il primo videogioco della storia. Nel 1965 viene creato al MIT un software che mette in collegamento vari computer e invia brevi messaggi di testo: è l’alba delle email. Nel 1975 nasce Telenet, il pilastro di internet. Nel 1983 viene lanciato Microsoft Word, che ha mandato in soffitta le macchine da scrivere e nel 1992 il formato JPEG ha rivoluzionato per sempre il nostro rapporto con la fotografia.
Gli esempi potrebbero andare avanti all’infinito. A partire dalla seconda metà del 20° secolo, i software hanno iniziato a diffondersi e a cambiare sia la nostra quotidianità sia il mondo della ricerca avanzata. La combinazione tra programmi sempre più sofisticati e hardware sempre più potenti è all’origine di alcuni degli strumenti scientifici più importanti dei nostri tempi. Il software Spinnaker, utilizzato da un supercomputer, è stato il primo a riprodurre (parzialmente) il funzionamento del cervello umano in tempo reale. Altri software consentono oggi di produrre nuovi farmaci più rapidamente, di simulare il big bang e un domani, forse, anche di prevenire i terremoti. Nati dall’intuizione di un lavoratore dell’industria tessile, i software hanno rivoluzionato ogni settore immaginabile. Più che “divorare il mondo”, come ha detto Andreessen, l’hanno conquistato.