La storia dell'informatica è la storia della scienza applicata che studia tematiche relative all'elaborazione automatica dell’informazione. Sebbene l'informatica si sia ampiamente sviluppata nella seconda metà del XX secolo, dando vita a quella che sarà chiamata era digitale, tale disciplina ha in realtà origini molto antiche, in quanto diversi scienziati si applicarono già, prima di allora, nella realizzazione di strumenti capaci di automatizzare i calcoli.

Dall'abaco a Babbage modifica

Charles Babbage e Ada Lovelace modifica

 
Ada Lovelace

Ada, contessa di Lovelace, era l’unica figlia del poeta Lord Byron e Anne Isabella Milbanke, che lasciò Byron quando la bambina aveva solo un anno. Il linguaggio di programmazione ADA porta questo nome in suo onore, sebbene la contessa rivendichi scarsamente l’etichetta, spesso usata, di "prima programmatrice". Era una giovane donna particolarmente attraente quando incontrò per la prima volta Charles Babbage, poco più che ventenne, il quale aveva già costruito un modello della macchina a manovella che poteva calcolare i logaritmi (la Macchina Differenziale), ed era già al lavoro su un progetto più grande.

 
Charles Babbage

Ada fu molto impressionata dalle idee di Babbage sulle macchine calcolatrici (e, qualcuno dice, da Babbage stesso). Vantava diversi talenti, tra cui una considerevole abilità matematica e di scrittura, che sfruttò per promuovere il calcolatore a vapore di Babbage, la Macchina Analitica. Le Obsevations on Mr Babbage’s Analytical Engine restano una delle migliori fonti di informazioni su di essa e dimostrano chiaramente che Ada capì il ruolo della programmazione in relazione alla risoluzione dei problemi meccanici. Tradusse anche ciò che molti considerano la migliore descrizione contemporanea alla macchina del suo funzionamento, ossia un resoconto dell’ingegnere italiano L.F. Menabrea. E scrisse un vero programma, per calcolare i numeri di Bernoulli.

Tre anni dopo la morte di Ada, la prima macchina di Babbage, la Macchina Differenziale, venne costruita in Svezia, dove funzionò per come era stata pensata. Si dovrà attendere lo sviluppo dei computer elettronici per la costruzione di ogni parte significativa della Macchina Analitica.

Le premesse teoriche dell'informatica modifica

Alan Turing e il problema della decisione modifica

Il programma di Hilbert modifica

A cavallo tra Ottocento e Novecento i matematici, stimolati in parte dall'esigenza di rigore che percorre un po' tutta la matematica ottocentesca[1], e in parte dalla necessità di valutare le conseguenze di nuove teorie, come le geometrie non euclidee o la teoria degli insiemi, condussero indagini e cominciarono a discutere sui fondamenti della matematica.[2] Furono proposti almeno tre approcci al problema dei fondamenti, ossia il logicismo, il formalismo e l'intuizionismo.[2]

 
David Hilbert

Secondo David Hilbert, fondatore del formalismo, tutte le teorie matematiche avrebbero dovuto essere ridotte a sistemi formali. Un sistema formale è formato da:

  • Un linguaggio formale, cioè un insieme di stringhe (sequenze finite di segni appartenenti a un dato alfabeto  ), costruite secondo determinate regole di formazione, dette regole sintattiche.[3]
  • Un insieme di assiomi, non intesi nel senso tradizionale, cioè come verità autoevidenti che non necessitano di dimostrazione, ma come enunciati di partenza di una teoria dai quali ricavare deduttivamente i teoremi.[3]
  • Regole di inferenza, che mettono in relazione un insieme di formule ( ), dette premesse, alla formula conseguente  , detta conclusione. Per ciascuna regola di inferenza vi è una procedura finita per determinare se una data formula   è una immediata conseguenza della regola a partire dalle formule date ( ).[4]

Per dimostrare la legittimità epistemologica di una data teoria, sarebbe bastato provare che il sistema formale corrispondente era esente da contraddizioni, cioè coerente.[2] Venne formulata una nuova assiomatica, per la quale gli "assiomi" non dovevano più essere scelti in base alla loro presunta evidenza, ma in modo arbitrario, purché non contraddittorio.[5] La coerenza diventava qualcosa da dimostrare o da garantire nella costruzione delle teorie.[5]

La teoria che, per varie ragioni, venne individuata come candidato ideale fu l'aritmetica finitista, ovvero quella parte di aritmetica che non coinvolge un riferimento alla infinità dei numeri.[2] Attraverso la formalizzazione, Hilbert mirava a dimostrare che tale aritmetica è dotata di proprietà intrinseche tali da renderla il fondamento dell'intero edificio matematico.[5] All'inizio del Novecento, perciò, elaborò un ambizioso programma, che si prefiggeva di individuare il fondamento dell'intera conoscenza matematica.[5] Nel 1928, durante un congresso, enunciò tre quesiti fondamentali riguardo a ogni sistema formale:[6]

  1. È dotato di una serie di regole completa, tale che qualsiasi affermazione si può confermare o smentire utilizzando soltanto le regole del sistema?
  2. È coerente, nel senso che al suo interno non esistono affermazioni contemporaneamente false e vere?
  3. Esiste un modo per stabilire se un'affermazione è dimostrabile (cioè se è effettivamente derivabile da un determinato insieme di proposizioni assunte come vere, cioè gli assiomi), senza confinare certe affermazioni[Nota 1] nel limbo dell'indecidibile?

Il logico austriaco Kurt Gödel rispose inaspettatamente alle prime due domande no con i suoi due teoremi di incompletezza. Restava soltanto la terza, quella che riguardava la decidibilità o, per dirla con lo stesso Hilbert, l'Entscheidungsproblem, "problema della decisione". Questo problema può essere espresso in diversi contesti. Nell'espressione originaria di Hilbert, esso assumeva questa forma: «la matematica è decidibile?», nel senso che, dato un sistema formale, astratto e simbolico che definisca la matematica, vi è una procedura definita (cioè pre-definita) garantita che sia in grado di decidere, in un numero finito di passi, se un'asserzione arbitraria formulabile nel sistema è vera, o è falsa?[7]

La macchina di Turing modifica

 
Rappresentazione artistica della macchina di Turing

All'inizio del 1937, Alonzo Church, matematico di Princeton, pubblicherà il cosiddetto «lambda calcolo», una soluzione all'Entscheidungsproblem.[8] Egli, servendosi del suo nuovo concetto di ricorsività, mostrò che non esiste una procedura di decisione in generale e che non disponiamo di alcun test preliminare che ci dica se la dimostrazione che cerchiamo esiste veramente.[9] Alan Turing, indipendentemente da Church, riformulerà così il problema: esiste un «processo meccanico» capace di stabilire se una data affermazione logica è dimostrabile?[10]

 
Alan Turing

Turing rispose alla terza domanda di Hilbert nell'articolo del 1936 intitolato On Computable Numbers, with an Application to the «Entscheidungsproblem».[11] Se ogni proposizione matematica poteva essere dimostrata da un processo interamente meccanico, per esempio, da una macchina automatica, il problema si sarebbe risolto positivamente. Turing escogitò l'idea di una macchina immaginaria, la famosa "macchina computatrice logica" o "macchina di Turing". Questa macchina, pur nella sua semplicità, può calcolare in un numero finito di passi elementari qualsiasi funzione computabile.[12]

Il significato intuitivo di computabilità può essere espresso nei termini di un algoritmo (o procedura effettiva) che specifica un insieme di istruzioni che andranno eseguite per completare un'attività.[13] In altre parole, una funzione   è computabile se esiste un algoritmo che produce il valore di   correttamente per ciascun possibile argomento di  .[13] La computazione di   per un argomento particolare   coinvolge solo il perseguimento delle istruzioni dell'algoritmo, ed essa produce il risultato   in un numero finito di passi se   è nel dominio di  .[13] Se   non è nel dominio di  , allora l'algoritmo potrebbe produrre una risposta dicendo proprio questo, o potrebbe restare in esecuzione senza mai fermarsi.[13]

Quindi, pur nella sua grande potenza logica, la macchina di Turing ha un limite intrinseco: data una configurazione iniziale di una macchina di Turing, non è decidibile a priori la sua possibilità di giungere a un termine, cioè a una configurazione finale.[14] Turing mostrò che la decidibilità fosse legata al problema della terminazione, e che se una teoria del primo ordine fosse decidibile allora questo problema poteva essere risolto.[15] L'irrisolvibilità del problema della terminazione implica che lo Entscheidungsproblem di Hilbert sia, a sua volta, irrisolvibile: non esiste alcuna procedura meccanica che possa sancire la dimostrabilità di qualsiasi affermazione matematica.[8]

La macchina di Turing è una semplice macchina teorica, ma è equivalente a un effettivo computer fisico nel senso che entrambi computano esattamente lo stesso insieme di funzioni.[16] Con una macchina di Turing risulta più facile l'analisi e la dimostrazione piuttosto che con un vero computer.[16] Tuttavia, le macchine di Turing non sono adatte per programmare, e non forniscono una buona base per lo studio della programmazione o dei linguaggi di programmazione.[16]

Turing introdusse anche il concetto di macchina di Turing universale, la quale è in grado di simulare qualunque altra macchina di Turing.[16] John von Neumann, avendo letto On Computable Numbers, proporrà di usare l'ENIAC (o analogo marchingegno) come una macchina di Turing universale, codificando la macchina adatta ad una specifica computazione come dato di input del dispositivo universale.[17][Nota 2]

I primi calcolatori moderni digitali modifica

Le prime esperienze in Europa e USA modifica

Analogico e digitale modifica

Qualsiasi informazione, per poter essere elaborata da un odierno computer, deve essere trasformata dalla forma analogica alla forma digitale. L'aggettivo "analogico", di solito, è utilizzato per indicare apparecchi, strumenti o dispositivi che trattano grandezze rappresentandole con altre grandezze legate alle prime da una relazione di analogia.[18] Per esempio, gli strumenti dotati di lancette come i tachimetri o le bilance visualizzano le informazioni relative rispettivamente alla velocità e al peso per mezzo dell'ampiezza di una angolo il cui valore è direttamente proporzionale alla grandezza misurata.[3] I sistemi digitali, invece, rappresentano grandezze sotto forma numerica, usando i simboli di un certo sistema di numerazione (decimale o binario).[18] Un segnale, quindi, è in formato digitale se viene rappresentato attraverso le cifre (digits, in inglese) di un sistema di numerazione.[18]

 
Claude Shannon

Nel 1938, il matematico Claude Shannon, con una tesi di laurea intitolata Analisi simbolica dei circuiti a relè e interruttori, affermava che i circuiti elettrici, se dotati di interruttori binari, possono eseguire operazioni logiche di algebra booleana.[19] Già dal 1934 al 1936, l'ingegnere della NEC Akira Nakashima aveva pubblicato una serie di documenti che mostravano che l'algebra booleana a due valori, che scoprì in maniera indipendente (conobbe il lavoro di George Boole solo nel 1938), può descrivere l'operatività dei circuiti di commutazione.[20][21][22][23] Un circuito di commutazione è un circuito elettrico in cui tutti i punti del circuito, ingressi e uscite comprese e informazioni, sono rappresentate in modo discreto, cioè possono avere un insieme discreto di valori di tensione e/o corrente.[24] Di solito i valori possibili sono solo due: il valore nullo o il valore della tensione di alimentazione del circuito.[24] La teoria di Shannon ebbe successo presso i ricercatori e gli ingegneri di tutto il mondo e di conseguenza, ad eccezione dei calcolatori analogici usati in alcuni casi specifici, tutti i calcolatori elettronici oggi sono digitali. Georges Stibitz, un matematico dei Laboratori Bell, fu il primo a usare i numeri binari in un dispositivo di calcolo, sebbene tale dispositivo fosse elettromeccanico, e non elettronico.[Nota 3] Sarà l'ingegnere tedesco Konrad Zuse colui che costruirà nel 1939 il primo calcolatore digitale programmabile multiuso pienamente funzionante, lo Z3.[25] Non ebbe futuro, in quanto fu distrutto insieme ai suoi progetti dai bombardamenti alleati del 1943.[26]

Vi sono casi in cui un calcolatore può essere digitale ma non binario. IBM cominciò a lavorare sui calcolatori durante gli anni della guerra con l'Harvard Mark 1, che sarà completato nel 1944. Era essenzialmente un calcolatore elettromeccanico che poteva eseguire automaticamente grandi computazioni e che era stato progettato da Howard Aiken per aiutarsi nel calcolo di equazioni differenziali; eseguiva addizioni in meno di un secondo, moltiplicazioni in 6 secondi e divisioni in circa 12 secondi.[27]

Le visite di Mauchly ad Atanasoff modifica

John Vincent Atanasoff, professore dello Iowa State College, durante gli anni Trenta iniziò a cercare un modo per rendere più facile e veloce l'esecuzione dei calcoli. Dal 1939 al 1942 costruì, insieme a uno studente di nome Clifford Berry, l'Atanasoff-Berry Computer (ABC).[28] Lo scopo della macchina era solo quello di risolvere equazioni lineari simultanee.[29] Può essere considerato il primo calcolatore digitale al mondo, ma risulta elettronico solo in parte. Il meccanismo di addizione e sottrazione utilizza le valvole termoioniche, ma la memoria e il sistema di recupero dei dati funzionano meccanicamente grazie a tamburi rotanti.[26] Non era programmabile, né multiuso.[26] Tuttavia fece da pioniere dei seguenti elementi dell'informatica moderna: aritmetica binaria e logica booleana, tutti i calcoli erano eseguiti usando componenti elettronici piuttosto che interruttori meccanici, la computazione e la memoria erano separate.[28]

John Mauchly, che lavorerà in futuro all'ENIAC, l'EDVAC e l'UNIVAC, visitò Atanasoff in diverse occasioni per discutere l'implementazione del computer ABC. Si credette per molti anni che l'ENIAC fosse stato il primo calcolatore digitale, fino a quando, nel 1973, una causa legale decretò che l'ABC ne incarnasse i principi già al tempo del brevetto.[28] La corte stabilì quindi che l'ABC fu il primo calcolatore digitale e affermò che gli inventori dell'ENIAC ne derivarono le caratteristiche da quello di Atanasoff.[28]

La prima generazione di calcolatori elettronici modifica

L'ENIAC e l'architettura di von Neumann modifica

Come nel caso britannico dello sviluppo del Colossus, le necessità di difesa furono la forza trainante dello sviluppo del primo grande calcolatore elettronico costruito negli Stati Uniti.[30] L'ENIAC (Electronic Numerical Integrator and Computer, in italiano Integratore e Computatore Numerico Elettronico), sebbene fu completato alla fine del 1945, quando ormai la seconda guerra mondiale era finita, fu concepito inizialmente per il calcolo delle traiettorie balistiche.[30] Sviluppato dalla Moore School of Electrical Engineering dell'Università della Pennsylvania, per il Ballistic Research Laboratory in Aberdeen, Maryland, questo calcolatore era una macchina decimale multiuso, contenente circa 18.000 valvole termoioniche.[30] Il progetto faceva riferimento all'Analizzatore Differenziale di Vannevar Bush, eccetto per il fatto che al posto dei componenti meccanici, vi erano componenti elettronici. La logica della macchina era integrata nello stesso hardware, e così cambiandone la configurazione, la macchina poteva essere regolata per eseguire diverse attività. Tale "programmazione" consisteva nel collegare e scollegare cavi nei quadri di controllo e reimpostare centinaia di interruttori.

 
John von Neumann

Mentre l'ENIAC stava per essere completato alla Moore School, i suoi progettisti, John Mauchly, Presper Eckert, e Herman Goldstine, erano consapevoli dei suoi limiti, e iniziarono a lavorare con il matematico John von Neumann su una concezione completamente nuova dei calcolatori, ora nota come "architettura di von Neumann", la quale separava completamente le funzioni logiche dall'hardware.[30] Questo modello è equivalente alla macchina di Turing, quindi con la stessa capacità di risolvere i problemi, ma con una struttura tale da facilitarne la realizzazione pratica e da semplificare la descrizione dei programmi.[31] Una macchina di von Neumann è composta da un'unità centrale di elaborazione in grado di eseguire i programmi, due differenti nastri per gestire l'input e l'output, e una memoria principale in cui possono essere memorizzati le istruzioni di un programma e i dati su cui esso opera.[31][32]

 
Architettura di von Neumann

Nel 1948, il Manchester Baby implementò per la prima volta il concetto di programma memorizzato, seguito nell'anno successivo dall'EDVAC, il successore dell'ENIAC.[33] I concetti di programma memorizzato e di architettura di von Neumann sono descritti in modo dettagliato nel rapporto di von Neumann sull'EDVAC, intitolato First Draft of a Report on the EDVAC, del 1945.[34]

I calcolatori attuali, salvo rare eccezioni, sono progettati e realizzati in modo da seguire le linee guida del modello di von Neumann.[31] I calcolatori a valvole termoioniche, basati sull'architettura di von Neumann, adesso sono conosciuti come la prima generazione di calcolatori elettronici; la seconda generazione nascerà con l'incorporazione del transistor nei circuiti della macchina.[30]

Hopper e le "ENIAC girls" modifica

Già Alan Turing scriveva, nel 1948, che «non ci serve un'infinita di macchine diverse in grado di eseguire compiti differenti. Una sarà più che sufficiente. Il problema ingegneristico legato alla produzione di svariate macchine per diversi compiti sarà sostituito dal lavoro d'ufficio di "programmare" la macchina universale che li svolga tutti».[35][36] Durante la seconda guerra mondiale furono alcune donne a sviluppare metodi per codificare le istruzioni che dicevano all'hardware quali operazioni eseguire.

 
Grace Hopper e l'UNIVAC

Tra queste, Grace Murray Hopper insegnava matematica a Vassar. Volle far parte dei servizi militari, e nel 1943 fece il suo ingresso nella marina americana. Dopo aver completato la Midshipman School, si unì a Howard Aiken, e collaborò alla gestione del Mark 1. Durante la guerra, la Hopper progettò programmi per questo calcolatore in modo che eseguisse complessi calcoli a fini militari. Vista la sua capacità di comunicare con precisione, Aiken le assegnò il compito di scrivere quello che sarebbe diventato il primo manuale di programmazione nella storia dei computer.[37] Tra le pratiche di programmazione che Grace Hopper perfezionò ad Harvard ci fu la subroutine[38][Nota 4], e mentre programmava il Mark 1, sviluppò anche il concetto di compilatore. Fu la sua squadra a diffondere i termini "bug" e "debugging".[39] Dopo aver lavorato al Mark III, Hopper si unì alla Eckert-Mauchly Computer Corporation, che stava costruendo l'UNIVAC[Nota 5], per il quale creò il primo compilatore nel 1952.[40][41] Noto come sistema A-0, era in grado di tradurre codici matematici simbolici in linguaggio macchina, facilitando così il compito di scrivere programmi.[41][Nota 6]

Jean Jennings, Marlyn Wescoff, Ruth Lichterman, Betty Snyder, France Bilas, e Kay McNulty furono i primi programmatori dell'ENIAC.[42] Poiché la guerra era finita, fu necessario impiegare la macchina per molti altri tipi di calcoli, oltre a quelli delle traiettorie balistiche. Una volta assunte, le sei donne furono mandate al poligono di Aberdeen per imparare a usare le schede perforate di IBM e a cablare i pannelli di controllo.[43] Anche loro svilupparono l'uso di subroutine, oltre alla nidificazione delle stesse.[44] Paul E. Ceruzzi afferma che «queste donne, essendo state le prime a entrare in questo nuovo territorio, furono le prime ad andare incontro all'intero problema della programmazione».[45]

Quadro dei primi calcolatori digitali modifica

Caratteristiche di alcuni dei primi calcolatori digitali degli anni Quaranta
Nome Entrata in servizio Sistema di numerazione Tecnologia di calcolo Memoria Velocità di calcolo Programmabilità Turing completo
Zuse Z3 (Germania) 1941[46] Binario in virgola mobile[46] Elettromeccanica[47] 1600 relè elettromeccanici, e poteva memorizzare 64 parole da 22 bit[48] 20 addizioni al secondo e circa 4 secondi per moltiplicazioni, divisioni e radici quadrate[49] Il programma era letto da nastri di pellicola cinematografica da 35 millimetri[49], ma non poteva essere tenuto in memoria[50] In teoria si[46]
Atanasoff-Berry Computer (USA) 1942[28] Binario[28] Elettronica[28] Una batteria di condensatori elettrici montati su tamburi rotanti[26][51] Non era né programmabile, né multiuso[26]
Colossus Mark 1 (Regno Unito) 1944[52] Binario[53] Elettronica[53] Vari elementi, come registri, contatori, anelli, memorie tampone, impostazione di parametri, componenti logici e aritmetici, quadri di controllo, interruttori, e nastro[54] 5000 caratteri al secondo[55] La macchina era in grado di trattare i caratteri prelevati da un nastro di carta perforato[55] e di immagazzinare i programmi al fine di eseguire funzioni pre-selezionate[53] No[26]
Harvard Mark 1 – IBM ASCC (USA) 1944[27] Decimale[56] Relè meccanici, azionati da motori elettrici[56] 72 registri potevano memorizzare numeri a 23 cifre; era possibile mantenere risultati intermedi[57] Era possibile sommare 2 numeri di 23 cifre in tre decimi di secondo e moltiplicarli in 6 secondi[58] I programmi erano letti da nastri perforati a 24 fori[57]
ENIAC (USA) 1946[59] Decimale[59] Elettronica[59] I componenti della memoria erano suddivisi in una "memoria interna" che consisteva di due parti (gli accumulatori a 10 cifre e i 6000 interruttori e cavi su quadri di controllo, accumulatori e "trasmittenti costanti"), e l'illimitata "memoria esterna", che era fornita dall'esterno della macchina sotto forma di schede perforate[60] 300 moltiplicazioni (o 5000 addizioni) al secondo[61] Il programma era esterno alla macchina e riguardava solo l'operatore, cioè era quest'ultimo a dare i comandi, controllare i risultati parziali e introdurli di nuovo nella macchina per le operazioni successive[61]; poteva essere programmato per eseguire complesse sequenze di operazioni, includendo cicli, ramificazioni e subroutine[59] Si[62]
Manchester Baby (Regno Unito) 1948[63] Binario[63] Elettronica[63] Memoria a tubo di Williams-Kilburn[63] Una addizione in 1,8 millisecondi e una moltiplicazione in 10 millisecondi[64] Prima implementazione del concetto di programma memorizzato[63]
EDVAC (USA) 1951[65] Binario[66] Elettronica[66] Memoria a 128 linee di ritardo acustico, ognuna delle quali capace di 384 byte, e a costruzione ultimata sarà aggiunta anche una memoria ausiliare a tamburo magnetico[66] Programma memorizzato[66]

La nascita della Silicon Valley modifica

L'avvento del transistor e del microchip modifica

L'invenzione del transistor modifica

Durante gli anni Trenta del Novecento, ai Bell Laboratories stava diventando sempre più importante il settore della fisica dello stato solido, che studia come gli elettroni si muovono attraverso i materiali solidi.[67] Nello stesso periodo e nello stesso edificio i teorici della Bell si stavano confrontando con le scoperte della meccanica quantistica.[67] Si necessitava di un sostituto a stato solido che rimpiazzasse le valvole termoioniche, i cui filamenti bruciavano troppo in fretta, o di un modo per rendere meno metallici i suoni prodotti dai diaframmi dei ricevitori telefonici.[67] Il successo fu raggiunto il 16 dicembre del 1947, quando un esperimento condotto da John Bardeen e Walter Houser Brattain, portò all'invenzione di un dispositivo che venne in seguito chiamato transistor.[68]

 
Da sinistra a destra: John Bardeen, William Shockley, Walter Houser Brattain

Il transistore o transistor è un dispositivo a semiconduttore, che consente di controllare l'intensità della corrente elettrica.[69] Un semiconduttore è un materiale (come il germanio o il silicio) che, se trattato, diventa facilmente un buon conduttore di elettricità.[67][Nota 7] I componenti essenziali del dispositivo di Bardeen e Brattain erano il germanio e due contatti dorati a punta. Questi contatti dovevano distare l'uno dall'altro frazioni di millimetro.[70] Tenendo questo a mente, Brattain posizionò un nastro d'oro attorno a un triangolo di plastica, e lo incise al centro.[70] Quando la punta del triangolo toccava il germanio, la corrente elettrica entrava attraversando un contatto dorato e veniva amplificata mentre usciva dall'altro.[70] Il loro transistor è detto per questo motivo "a punta di contatto".[70]

Il sociologo Manuel Castells sintetizza così la storia dell'invenzione del transistor:

«Il transistor, inventato nel 1947 nei Bell Laboratories di Murray Hill, nel New Jersey, da tre fisici, Bardeen, Brattain e Shockley (insigniti per questo del premio Nobel), permise la trasformazione degli impulsi elettrici a velocità elevata in un modo binario d'interruzione e amplificazione, consentendo la codificazione della logica e della comunicazione con e tra le macchine: tali dispositivi di trasformazione vengono definiti semiconduttori, comunemente noti come chip (ora costituiti, in realtà, da milioni di transistor). Il primo passo verso la diffusione dei transistor si ebbe con l'invenzione di Shockley del transistor a giunzione nel 1951. [...] Il passaggio al silicio, costruendo letteralmente la nuova rivoluzione sulla sabbia, fu compiuto dalla Texas Instruments (a Dallas) nel 1954 (una mossa facilitata dall'assunzione, nel 1953 di Gordon Teal, un altro eminente scienziato dei Bell Labs).»

Dopo l'invenzione del transistor, William Shockley volle fondare una propria azienda.[71] Nel 1955 invitò Arnold Beckman, vicepresidente della Camera di commercio, a far parte del consiglio di amministrazione della società di transistor che voleva fondare.[71] Beckman lo convinse a guidare piuttosto una divisione della Beckman Instruments che lui stesso avrebbe finanziato.[71] Lo Shockley Semiconductor Laboratory venne collocato nella cittadina di Palo Alto, in California, dove Shockley era cresciuto.[71]

 
Replica del primo transistor
 
Gordon Moore e Robert Noyce

Dapprima assunti da Shockley, Robert Noyce e Gordon Moore vollero fondare a loro volta una propria società.[72] Fu Sherman Fairchild, proprietario della Fairchild Camera and Instrument, a stanziare prontamente un milione e mezzo di dollari per avviare la nuova azienda, a patto che, se avesse avuto successo, egli avrebbe potuto acquistarla per 3 milioni di dollari.[72] Anche Noyce e Moore si stabilirono a Palo Alto, dando vita alla Fairchild Semiconductor.[72]

Venivano così gettate le fondamenta della Silicon Valley. La prima azienda di elettronica civile insediata nella Silicon Valley era stata la Hewlett-Packard, fondata nel 1939 da due laureati dell'Università di Stanford; tuttavia, il boom si ebbe negli anni Cinquanta, grazie ad un incubatore tecnologico creato dall'Università di Stanford, lo Stanford Research Park.[73]

Il microchip e la legge di Moore modifica

Dalla fine degli anni Cinquanta, i produttori di elettronica iniziarono a confrontarsi con circuiti di crescente complessità (i computer, per esempio, contenevano decine di migliaia di transistor).[74] L'assemblaggio spesso richiedeva centinaia di migliaia di interconnessioni, ognuna delle quali doveva essere saldata a mano[74], il che rendeva il dispositivo poco affidabile[75]. Furono questi i problemi che motivarono l'invenzione del circuito integrato. L'idea di posizionare svariati componenti su un solo chip venne in mente a due uomini, che lavoravano in modo indipendente l'uno dall'altro.

 
Jack Kilby (seduto al centro)

Il primo, Jack Kilby, nel 1958 si unì a un team della Texas Instruments che stava cercando dei modi per ridurre la dimensione dei circuiti dei computer. Durante una dimostrazione, Kilby collegò un chip a semiconduttore fatto con diversi componenti – come interruttori, resistori, condensatori, e diodi, tutti realizzati a partire da semiconduttori drogati – a un oscilloscopio.[74] Sebbene questi componenti si trovassero su un solo chip, Kilby non sviluppò un metodo adatto a collegarli gli uni agli altri, e le connessioni furono realizzate nel modo tradizionale (con minuscoli fili dorati).[74]

Nello stesso periodo, Robert Noyce, che era a capo della Fairchild Semiconductor, realizzò che la tecnica del «processo planare»[Nota 8] poteva essere adattata per creare un intero circuito su un wafer di silicio.[74] Il processo planare eliminava i minuscoli fili che spuntavano da ogni strato del transistor. Al loro posto si potevano stampare sulla parte superiore dello strato di ossido piccole piste di rame, il che avrebbe reso la costruzione dei transistor più veloce e sicura.[76] L'intuizione successiva fu la possibilità di collegare più transistor posti sullo stesso pezzo di silicio.[76]

Inevitabilmente, scoppiò una guerra dei brevetti, che si concluse con la vittoria di Noyce.[77] Comunque fu Kilby a ricevere il premio Nobel nel 2000, dieci anni dopo la morte di Noyce, e una delle prime cose che fece fu elogiare il collega.[77]

A dare un grande impulso alla produzione dei microchip (cioè i circuiti integrati) furono il settore militare, la corsa allo spazio e lo sviluppo di dispositivi d'uso comune, come le calcolatrici tascabili.[78] I dispositivi elettronici diventavano sempre più piccoli, più economici, più veloci e più potenti. A Gordon Moore venne chiesto di predire il mercato futuro, e nel suo articolo Cramming More Components onto Integrated Circuits dell'aprile 1965, pubblicato nella rivista Electronics, affermò quella che un suo amico, professore al Caltech, soprannominò «legge di Moore».[78][79]

(EN)

«The complexity for minimum component costs has increased at a rate of roughly a factor of two per year. Certainly over the short term this rate can be expected to continue, if not to increase. Over the longer term, the rate of increase is a bit more uncertain, although there is no reason to believe it will not remain nearly constant for at least 10 years»

(IT)

«La complessità per costo minimo delle componenti è cresciuta a un tasso di circa due volte per anno. Certamente nel breve periodo è previsto il mantenimento di questo tasso, se non l'aumento. Nel lungo periodo, il tasso di crescita è un po' più incerto, sebbene non vi sia ragione di credere che non rimanga più o meno costante per almeno 10 anni.»

Dieci anni dopo, Moore modificò la legge dicendo che il numero di transistor su un microchip sarebbe «raddoppiato ogni due anni, anziché una volta all'anno».[78] Un collega, David House, fece un'ulteriore correzione, talvolta usata ancora oggi, e precisò che le «prestazioni» del microchip sarebbero raddoppiate ogni 18 mesi grazie alla maggiore potenza nonché al maggior numero di transistor installati su di esso.[78]

Dopo soli cinque anni dall'invenzione del transistor, appare la cosiddetta "terza generazione" di computer, basati sui circuiti integrati.[80] Questi computer possono eseguire ben due milioni di moltiplicazioni al secondo, contro le 2.200 di un computer di prima generazione, e le 38.000 di uno di seconda.[80]

L'invenzione del microprocessore modifica

 
Intel 4004, al quale lavorarono Federico Faggin, Ted Hoff e Stanley Mazer

Nel 1968, grazie all'aiuto di Arthur Rock, l'investitore americano che coniò il termine venture capitalist, Robert Noyce e Gordon Moore fondarono la società oggi nota con il nome di Intel.[81] Subito dopo la fondazione, Noyce e Moore reclutarono altri impiegati della Fairchild, tra cui l'uomo d'affari di origini ungheresi Andrew Grove.[81] Noyce, Moore e Grove si succedettero come amministratori delegati durante i primi tre decenni della storia dell'azienda.[81]

Alla Intel si deve riconoscere l'invenzione del microprocessore[82], e non solo. Walter Isaacson scrive, ne Gli innovatori, che la cultura aziendale e lo stile di management Intel contagiarono l'intera Silicon Valley, in quanto si rivelarono più efficaci di quelle rigidamente gerarchiche, caratteristiche della costa orientale degli USA.[83]

«Un diverso tipo di innovazione, si produsse nell'Intel ed ebbe sull'era digitale un impatto altrettanto decisivo delle innovazioni descritte finora. [...] Si tratta della creazione di una cultura aziendale e di uno stile di management che erano l'antitesi dell'organizzazione gerarchica delle società della East Coast. [...] Rifuggendo le gerarchie, prima alla Fairchild Semiconductor e poi alla Intel, Noyce diede più potere ai dipendenti e li costrinse a comportarsi da imprenditori. [...] Anziché proporre piani agli alti dirigenti, le unità di business della Intel erano incoraggiate ad agire come se fossero piccole e agili aziende indipendenti.»

Il primo microprocessore, l'Intel 4004, fu presentato al pubblico nel novembre del 1971.[84] L'idea fu suggerita dal fatto che dover costruire per ogni cliente un processore che assolvesse a un solo compito specifico, non era conveniente.[85] Fu Ted Hoff, un giovane docente della Stanford, in seguito assunto dalla società, a immaginare un approccio alternativo, ossia creare un chip multiuso che si potesse programmare perché svolgesse una serie di funzioni diverse.[85]

Questo microprocessore riunisce, sia pure allo stato embrionale, in un circuito integrato relativamente semplice, tutti gli elementi (aritmetici, logici e di controllo) indispensabili per un elaboratore.[86] La capacità di elaborazione, 60.000 operazioni al secondo, è superiore all'ENIAC del 1946 o ad un computer IBM dei primi anni Sessanta con un'unità centrale grande come un tavolo.[86]

«Ampiamente utilizzata a partire dal 1976, quando i componenti ad alta densità iniziarono a essere prodotti in massa (tecnologia nota come VLSI, o Very Large-Scale Integration, la quale è in costante sviluppo ancora oggi), questa importante innovazione ebbe molte applicazioni: lavatrici, automobili, computer, microcomputer, robot industriali, ecc.», scrive Georges Ifrah.[87]

Note modifica

  1. ^ Per esempio enigmi matematici storici come l'ultimo teorema di Fermat, la congettura di Goldbach o la congettura di Collatz.
  2. ^ Un moderno elaboratore elettronico può essere visto come la realizzazione di una macchina di Turing universale che esegue un programma sui dati di input: sia il programma sia i dati sono residenti nella memoria che, diversamente dal nastro immaginario, ha una dimensione finita.
  3. ^ Valvole termoioniche e transistor possono fare da interruttori in un circuito elettrico, e sono detti elettronici perché condizionano il flusso degli elettroni senza necessitare di parti in movimento (caratteristica invece di particolari relè che si aprono e chiudono a scatto, che sono interruttori elettromeccanici).
  4. ^ Nella scrittura di un programma nasce molto spesso l'esigenza di scomporre il problema principale in sottoproblemi parziali più semplici. Si impiega solitamente la parola subroutine per indicare i sottoprogrammi più brevi, semplici e che vengono utilizzati più volte nel corso del programma.
  5. ^ L'UNIVAC, il primo calcolatore commerciale, fu progettato per l'uso aziendale e amministrativo, piuttosto che per i complessi calcoli scientifici. Inizialmente aveva un prezzo di $159.000, che nel corso degli anni aumentò fino a raggiungere un milione e mezzo di dollari. Furono costruiti e consegnati oltre 46 di questi computer.
  6. ^ Un compilatore di solito trasforma un programma scritto in un linguaggio ad alto livello nel codice macchina di un qualche processore o di una qualche macchina virtuale, come il bytecode Java. Un linguaggio macchina o codice macchina è una sequenza di istruzioni in codice binario eseguibili direttamente da un processore.
  7. ^ Si può aumentare la conduzione nei semiconduttori introducendo impurezze all'interno della loro struttura cristallina. Facendo uso di elementi come l'arsenico o il boro, è possibile fornire per esempio al silicio un surplus di elettroni (nel primo caso, creando un semiconduttore di tipo-n), o rendere tale elemento carente di elettroni (dove normalmente c'erano alcuni elettroni si avevano ora delle "lacune", creando un semiconduttore di tipo-p). Il transistor di Bardeen e Brattain presentava un singolo cristallo di germanio con una regione di tipo-p e una di tipo-n.
  8. ^ Poiché i transistor tendevano a rompersi facilmente, il fisico Jean Hoerni (sempre della Fairchild), concepì questa tecnica che consisteva inizialmente nell'apposizione di uno strato di ossido di silicio sulla superficie del transistor. In seguito pensò di incidere minuscole finestrelle nello strato protettivo di ossido, in modo che le impurità venissero diffuse in zone precise del silicio, allo scopo di creare le proprietà del semiconduttore desiderate.

Riferimenti

  1. ^ (IT) Morris Kline, Matematica. La perdita della certezza, Arnoldo Mondadori Editore, 1985, p. 188.
    «I fondatori di quello che venne chiamato movimento di rigorizzazione [...] si prefissero l'obiettivo di costruire per la matematica dei fondamenti logici corretti laddove non ne esisteva alcuno, di eliminare i concetti vaghi e le contraddizioni, di migliorare i fondamenti che già esistevano come nel caso della geometria euclidea. Il programma che abbiamo ora esposto incominciò a essere elaborato nel secondo decennio dell'Ottocento e accelerò il ritmo quando i lavori sulle geometrie non euclidee divennero noti a un pubblico più vasto.»
  2. ^ a b c d (IT) AA.VV., Enciclopedia della Filosofia, in Le Garzantine, A-M, Edizione speciale per il Corriere della Sera, Garzanti, 2006, ISBN 9771828050140.
  3. ^ a b c (IT) Walter Maraschini e Mauro Palma, Enciclopedia della Matematica, in Le Garzantine, A-L, Edizione speciale per il Corriere della Sera, Garzanti, 2014, ISBN 9771825063273.
  4. ^ O'Regan (2012), p. 193
  5. ^ a b c d (IT) Massimo Bergamini, Anna Trifone e Graziella Barozzi, Manuale blu 2.0 di matematica. Multimediale. Per le Scuole superiori. Con e-book. Con espansione online: 5, Zanichelli, 4 febbraio 2013, ISBN 9788808800053. URL consultato il 7 dicembre 2018.
  6. ^ Isaacson, p. 50
  7. ^ (EN) Georges Ifrah, The Universal History of Computing. From the Abacus to the Quantum Computer, 1ª ed., Wiley, 10 gennaio 2002, p. 273, ISBN 9780471441472. URL consultato il 17 agosto 2018.
    «The question of "decidability" can be expressed in several contexts. As originally expressed in 1928 by David Hilbert, it took the form "is mathematics decidable?", in the sense that, given a formal, abstract and symbolic system defining mathematics, does there exist a definite (i.e. pre-defined) procedure guaranteed to be able to decide, in a finite number of steps, whether an arbitrary assertion stateable in the system is true, or is false?»
  8. ^ a b Isaacson, p. 52
  9. ^ (IT) Morris Kline, Matematica. La perdita della certezza, Arnoldo Mondadori Editore, 1985, p. 292.
  10. ^ Isaacson, p. 51
  11. ^ (EN) Alan Turing, On Computable Numbers, with an Application to the «Entscheidungsproblem» (PDF), 1936, p. 259. URL consultato l'8 dicembre 2018.
  12. ^ macchina di Turing in "Enciclopedia della Scienza e della Tecnica", su www.treccani.it. URL consultato il 7 dicembre 2018.
  13. ^ a b c d O'Regan (2012), p. 191
  14. ^ (IT) Walter Maraschini e Mauro Palma, Enciclopedia della Matematica, in Le Garzantine, M-Z, Edizione speciale per il Corriere della Sera, Garzanti, 2014, ISBN 9771825063273.
  15. ^ O'Regan (2012), p. 194
  16. ^ a b c d O'Regan (2012), p. 197
  17. ^ Monga, p. 112
  18. ^ a b c (IT) Giusella Finocchiaro, Luciano Margara e Simone Martini, Fondamenti di informatica: 2, 1ª ed., Zanichelli, 15 gennaio 2007, ISBN 9788808044372. URL consultato il 20 agosto 2018.
  19. ^ Isaacson, p. 54
  20. ^ (JA) Akihiko Yamada, History of Research on Switching Theory in Japan, in IEEJ Transactions on Fundamentals and Materials, vol. 124, n. 8, 2004, pp. 720–726, DOI:10.1541/ieejfms.124.720. URL consultato il 21 agosto 2018.
  21. ^ Information Processing Society of Japan, Switching Theory/Relay Circuit Network Theory/Theory of Logical Mathematics-Computer Museum, su museum.ipsj.or.jp. URL consultato il 21 agosto 2018.
  22. ^ Radomir S. Stanković, Jaakko T. Astola e Mark G. Karpovsky, Some Historical Remarks on Switching Theory (PDF). URL consultato il 21 agosto 2018.
  23. ^ Radomir S. Stanković e Jaakko Astola, Reprints from the Early Days of Information Sciences: TICSP Series On the Contributions of Akira Nakashima to Switching Theory (PDF), in TICSP Series, n. 40, Tampere International Center for Signal Processing, 2008.
  24. ^ a b (MUL) Daniela Cancila e Stefano Mazzanti, Il dizionario enciclopedico di informatica. Inglese-italiano, italiano-inglese. Ediz. bilingue. Con aggiornamento online, Zanichelli, 1º giugno 2009, ISBN 9788808193513. URL consultato il 21 agosto 2018.
  25. ^ Isaacson, p. 60
  26. ^ a b c d e f Isaacson, p. 85
  27. ^ a b O'Regan (2016), pp. 56-58
  28. ^ a b c d e f g O'Regan (2016), pp. 58-60
  29. ^ Isaacson, p. 65
  30. ^ a b c d e Bunch e Hellemans, p. 376
  31. ^ a b c (IT) Donatella Sciuto, Giacomo Buonanno e Luca Mari, Introduzione ai sistemi informatici, 5ª ed., McGraw-Hill Education, 20 gennaio 2014, p. 73, ISBN 9788838668326. URL consultato il 13 dicembre 2018.
  32. ^ (IT) AA.VV., La Comunicazione. Informatica, Telematica, Le Nuove Tecnologie della Comunicazione, in Enciclopedia della Scienza. Storie, Idee, Tecnologie, vol. 14, Il Giornale, 2005, pp. 268-272, ISBN 9771124883152.
  33. ^ O'Regan (2016), p. 62
  34. ^ (EN) John von Neumann, First Draft of a Report on the EDVAC (PDF), University of Pennsylvania, 30 giugno 1945.
  35. ^ (EN) Alan Turing, Intelligent Machinery, 1948. URL consultato il 6 dicembre 2018.
  36. ^ (EN) B. Jack Copeland, The Essential Turing: Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life: Plus The Secrets of Enigma (PDF), Oxford University Press, 2004, p. 414, ISBN 9780198250807. URL consultato il 6 dicembre 2018.
  37. ^ (EN) The Staff of the Harvard Computation Library, A Manual of Operation for the Automatic Sequence Controlled Calculator, 1946. URL consultato il 6 dicembre 2018.
  38. ^ (EN) Grace Hopper e John Mauchly, Influence of Programming Techniques on the Design of Computers, in Proceedings of the IRE, vol. 41, n. 10, ottobre 1953.
  39. ^ (IT) Marisa Addomine e Daniele Pons, Informatica. Ediz. arancione. Metodi e fondamenti. Per le Scuole superiori. Con DVD. Con espansione online, Arancione Multimediale, Zanichelli, 13 gennaio 2014, ISBN 9788808312785. URL consultato l'8 dicembre 2018.
  40. ^ Bunch e Hellemans, p. 388
  41. ^ a b Isaacson, p. 121
  42. ^ Isaacson, p. 101
  43. ^ Isaacson, p. 102
  44. ^ Isaacson, p. 103
  45. ^ (EN) Steve Lohr, Jean Jennings Bartik, a Computer Pioneer, Dies at 86, in The New York Times, 7 aprile 2011. URL consultato l'8 dicembre 2018.
    «“These women, being the first to enter this new territory, were the first to encounter the whole question of programming,” said Paul E. Ceruzzi, a computer historian at the Smithsonian Institution.»
  46. ^ a b c O'Regan (2016), pp. 68-69
  47. ^ Ifrah, pp. 206-207
  48. ^ Morelli, p. 177
  49. ^ a b Bozzo, p. 68
  50. ^ Morelli, p. 176
  51. ^ Bozzo, pp. 65-66
  52. ^ O'Regan (2016), pp. 65-66
  53. ^ a b c Ifrah, pp. 218-220
  54. ^ (EN) B. Jack Copeland, Colossus: The Secrets of Bletchley Park's Code-breaking Computers, Oxford University Press, 18 marzo 2010, p. 133, ISBN 9780199578146. URL consultato il 12 dicembre 2018.
    «Memory venues included registers, counters, rings, buffers, parameter settings, logic and arithmetic componenents, plugboards, switches, and tape.»
  55. ^ a b Bozzo, pp. 61-63
  56. ^ a b Isaacson, p. 58
  57. ^ a b Ifrah, pp. 212-214
  58. ^ Bozzo, pp. 73-74
  59. ^ a b c d O'Regan (2016), pp. 60-62
  60. ^ (EN) ENIAC at Penn Engineering, su seas.upenn.edu. URL consultato il 13 dicembre 2018.
  61. ^ a b Bozzo, pp. 75-76
  62. ^ Isaacson, p. 86
  63. ^ a b c d e Manchester Baby Computer, su curation.cs.manchester.ac.uk. URL consultato il 13 dicembre 2018.
  64. ^ Bozzo, p. 82
  65. ^ O'Regan (2016), p. 63
  66. ^ a b c d Bozzo, p. 91
  67. ^ a b c d Isaacson, pp. 138-139
  68. ^ Isaacson, p. 148
  69. ^ (IT) Ugo Amaldi, L'Amaldi per i licei scientifici.blu. Con Physics in english. Con interactive e-book. Con espansione online: 3, Zanichelli, 1º gennaio 2012, ISBN 9788808437969. URL consultato l'11 dicembre 2018.
  70. ^ a b c d (EN) John Bardeen, William Shockley, Walter Brattain, su www.aps.org. URL consultato l'11 dicembre 2018.
  71. ^ a b c d Isaacson, pp. 158-159
  72. ^ a b c Isaacson, pp. 171-172
  73. ^ Isaacson, p. 160
  74. ^ a b c d e Bunch e Hellemans, p. 405
  75. ^ Isaacson, p. 175
  76. ^ a b Isaacson, pp. 178-180
  77. ^ a b Isaacson, pp. 180-184
  78. ^ a b c d Isaacson, pp. 184-188
  79. ^ (EN) Gordon E. Moore, Cramming More Components onto Integrated Circuits (PDF), in Electronics, aprile 1965, p. 115.
  80. ^ a b Bozzo, p. 138
  81. ^ a b c (EN) Intel | History, Products, & Facts, su Encyclopedia Britannica. URL consultato il 17 dicembre 2018.
  82. ^ Mary Bellis, Inventors of the First Single Chip Microprocessor, su ThoughtCo, 22 marzo 2018. URL consultato il 18 dicembre 2018.
    «The 4004 was the world's first universal microprocessor.»
  83. ^ Isaacson, pp. 192-198
  84. ^ (EN) The Story of the Intel® 4004, su Intel. URL consultato il 17 dicembre 2018.
  85. ^ a b Isaacson, pp. 199-201
  86. ^ a b Bozzo, pp. 159-160
  87. ^ Ifrah, p. 298

Bibliografia modifica

  • (IT) Massimo Bozzo, La grande storia del computer. Dall'abaco all'intelligenza artificiale, Edizioni Dedalo, 1996, ISBN 9788822045379.
  • (EN) Bryan H. Bunch e Alexander Hellemans, The Timetables of Technology: A Chronology of the Most Important People and Events in the History of Technology, Touchstone Books, 1994, ISBN 9780671887674.
  • (IT) Manuel Castells, La nascita della società in rete, Università Bocconi Editore, 2014, ISBN 9788883500695.
  • (EN) Georges Ifrah, The Universal History of Computing. From the Abacus to the Quantum Computer, Wiley, 2002, ISBN 9780471441472.
  • (IT) Walter Isaacson, Gli innovatori. Storia di chi ha preceduto e accompagnato Steve Jobs nella rivoluzione digitale, Mondadori, 2014, ISBN 9788804645917.
  • (IT) Mattia Monga, Turing. La nascita dell'intelligenza artificiale, collana Grandangolo Scienza, vol. 14, Corriere della Sera, 2016, ISBN 9772531560131.
  • (IT) Marcello Morelli, Dalle calcolatrici ai computer degli anni Cinquanta. I protagonisti e le macchine della storia dell'informatica, FrancoAngeli, 2001, ISBN 9788846428790.
  • (EN) Gerard O'Regan, Introduction to the History of Computing. A Computing History Primer, Springer, 2016, ISBN 9783319331379.
  • (EN) Gerard O'Regan, Mathematics in Computing. An Accessible Guide to Historical, Foundational and Application Contexts, Springer, 2012, ISBN 9781447145349.