Cenni di Storia dei Calcolatori
(Dall'ENIAC alla nascita di Internet)
di Giulio Mazzolini
Premessa: Ho scritto questi cenni di storia con l'intento di dare un contributo alla 'memoria storica' di chi oggi si avvicina al software libero, affinché si conosca l'evoluzione sorprendente, imprevedibile e rapidissima dei calcolatori e del relativo software.
L'età della pietra (1940-1950)
Le
macchine a valvole
Si ritiene che l'ENIAC sia stato il primo calcolatore moderno anche se dei "calcolatori', ovvero delle macchine in grado di eseguire calcoli matematici, esistevano già agli inizi degli anni '40, ma esse erano di tipo elettromeccanico o elettronico "analogico".
Per
esempio nel '40 esisteva il Mark I, un calcolatore elettromeccanico
con memoria su carta perforata, ma era molto lento. I calcolatori
analogici erano al contrario veloci ma non erano precisi,
il
risultato era semplicemente una curva su un monitor, da misurare e
interpretare, quindi
non erano utilizzabili per calcoli dove la precisione era
indispensabile.
Il
tempo necessario per ottenere una moltiplicazione con una macchina
elettromeccanica era dell'ordine dei 1-3 secondi, l'ENIAC invece
era molto più veloce, faceva una moltiplicazione in tre millisecondi e
una divisione in
circa 30 millisecondi, un netto miglioramento, che però ci fa sorridere
se pensiamo alle velocità di calcolo raggiungibile oggi con semplici e
economici calcolatori.
La costruzione dell'ENIAC iniziò nei primi anni '40 nei laboratori dell'Università' di Pensilvania (la Moore School of Electrical Engineering), nell'ambito di un progetto finanziato dal Laboratorio di Ricerca Balistica dell'Esercito, per eseguire i calcoli balistici più rapidamente. L'ENIAC iniziò a lavorare nel 1945, fu usato anche da Fermi nei calcoli per lo sviluppo della bomba atomica a Los Alamos, anche se la decisione di costruirlo sembra non fosse una conseguenza del programma atomico.
L'ENIAC era una macchina nuova e potente per i suoi tempi, era contemporaneamente "elettronica" e "digitale", ovvero era in grado di dare risultati numerici precisi, usava ben 18.000 tubi catodici e adottava un sistema numerico decimale (che venne successivamente abbandonato a favore del binario.)
La memoria era a flip-flop, cioè ogni unità di memoria era fatta con due valvole che ad ogni eccitazione cambiavano stato, erano necessarie migliaia di valvole solo per la memoria, ma si riusciva a memorizzare solo dieci parole. L'output era fatto con delle luci piazzate su un grande pannello che si doveva fotografare per fare il debug!
E' stata spenta nel 1955 e poi trasportata allo Smithsonian Museum, dove si trova tuttora.
John Von Neumann, un matematico di fama mondiale e uno dei progettisti coinvolti nel progetto ENIAC, ne intuì le potenzialità ma anche i suoi limiti, progettò quindi un'altra macchina chiamata EDVAC, ultimata nel 1950.
La macchina EDVAC usava per la prima volta il sistema digitale "binario" e aveva una architettura interna che fu poi adottata in seguito da quasi tutti i calcolatori. Non usava più valvole per la memoria ma un un sistema a a ritardo acustico in un tubo di mercurio, che permetteva di aumentare la memoria di 100 volte e di ridurre notevolmente gli ingombri.
In verità la memoria acustica non era una novità, il primo calcolatore ad utilizzarla era stato l'EDSAC (Electronic Delay Storage Automatic Calculator) costruito nei laboratori di Cambridge e terminato nel 1949. Si trattava di una apparecchiatura che usava una memoria di tipo first-in first-out grazie al ritardo della propagazione delle onde acustiche in un mezzo ad alta densità come il mercurio.
In questi primi calcolatori (1946-1950) le istruzioni venivano immesse nella macchina direttamente in codice binario per mezzo di schede perforate.
Il programmatore scriveva in un linguaggio mnemonico convenzionale le istruzioni per la macchina che poi dei tecnici specializzati traducevano in codice binario. Non esistevano ancora dei programmi per passare dal linguaggio mnemonico al codice binario, anzi qualcuno pensava che per farlo fossero più affidabili gli uomini della macchina.
Solo nel 1949 venne sviluppato un programma che permetteva all'EDSAC di tradurre il codice mnemonico convenzionale in binario.
Il problema della memoria era uno dei più gravi, in quanto era sempre limitata e molto ingombrante, ma dal 1950 in poi gli sviluppi tecnici in questo campo furono notevoli. In quell'anno la ERA (Engineering Reaserch Associated, poi Remington Rand, poi Sperry Rand) costruì una delle prime macchine con memoria a tamburo magnetico e l'anno dopo venne introdotta la memoria a nuclei magnetici.
L'età
del ferro (1951-1970)
La
memoria a nuclei magnetici.
L'invenzione dei nuclei magnetici di memoria di Forrester nel 1951 rivoluzionò ancora una volta i calcolatori. Dei nuclei di ferrite venivano eccitati da dei fili elettrici incrociati mantenendo il loro stato magnetico fino alla de-eccitazione seguente.
Nel 1953 appare la IBM 701,una macchina con tubi di memoria elettrostatici, tamburo magnetico e nastri magnetici: il primo calcolatore IBM di grandi dimensioni in concorrenza con l'ERA.
In quegli anni inizia la storia il software inizia: nel 1952 venne preparato un breve codice per l'UNIVAC, al momento l'unica produttrice di macchine di grandi dimensioni per il mercato. Poi apparve il linguaggio Fortran (Formula Translation), iniziato nel 1954 e ultimato nel 1957, che divenne in breve il linguaggio più diffuso al mondo.( L'UNIVAC aveva usato in precedenza dei semplici compilatori, i famosi A-0 e A-1, poi A-2 e A-3.)
Nel 1955 la IBM iniziò la costruzione della macchina 704, a valvole e con memoria a nuclei magnetici, per l'input usava schede perforate. Il costo della 704 era dell'ordine di alcuni milioni di dollari.
Nello stesso periodo esce la IBM 650, con tamburo magnetico, nuclei magnetici e nastri, più lenta della 701 ma che venne adottata da molte università per il suo basso costo. Nel '55 ne erano state installate già un migliaio.
Le macchine a transistor
La scoperta del transistor produsse una ulteriore rivoluzione nei calcolatori. Nel 1957 venne costruito dai Laboratori Lincon del MIT il primo computer a transistor, il TX-0, che non utilizzava più schede perforate per l'input ma un nastro di carta perforata con la flexotype, nastro che veniva introdotto in un apposito lettore di nastri perforati.
La TX-0 non aveva ancora un monitor, l'output era fatto ancora solo di luci e audio. Però la memoria era di ben 4.096 parole (per quella macchina una parola era formata da 18 bit).
Apparvero
diverse novità nel
software: in quel periodo Jack Dennis scrisse uno dei primi compilatori
in grado
di tradurre il linguaggio assembly in codice binario. Nel
1957-58 la Remington Rand sviluppava il linguaggio UNICODE per
le macchine 1103A e 1105. Contemporaneamente veniva scritto da un
gruppo tedesco-americano l' ALGOL, sulla base di lavori precedenti di
Rutishause (che inventò il primo compilatore nel 1953, ma
che non venne mai usato.)<
Nel
1959 arrivò al MIT il mitico John McCarthy che diede un
impulso importante nello sviluppo dei linguaggi.
Iniziò a
scrivere il Lisp, un programma che rese famosa in tutto il mondo
l'Intelligenza Artificiale e
che è ampiamente usato ancora oggi. Scrisse anche un celebre
programma per giocare a scacchi, poi perfezionato da Kotok.
I Circuiti integrati
La Fairchild Semiconductor iniziò a produrre i primi circuiti integrati nel 1961, che vennero subito introdotti nei computer, riducendone ancora le dimensioni e i costi.
Nello stesso anno il MIT acquistò il famoso computer Pdp-1, della Digital Equipment Corporation, una macchina a circuiti integrati, realizzata apposta per la ricerca scientifica, costava "solo" 120 000 dollari, come input usava ancora il nastro perforato ma finalmente aveva un monitor per l'output.
In quegli anni i computer erano molto diffusi, soprattutto negli Stati Uniti, ma erano ancora grandi, costosi e soprattutto complicati da usare, solo le Università e alcune grandi aziende se li potevano permettere. L'anno 1960 va ricordato per un evento che avrà delle ripercussioni estremamente importanti in seguito. In quell'anno l'Esercito costituì una agenzia per la ricerca (Advance Research Project Agency, detta ARPA) per finanziare progetti nel campo dei computer. Questa agenzia, condotta da persone genuinamente interessate allo sviluppo della ricerca, finanziò e rese possibili molti progetti tra i quali Internet, ma ne riparleremo più avanti.
Gli anni '60 segnarono alcune tappe rilevanti nello sviluppo dei calcolatori, nel 1962 McCarty si spostò allo Stanford Artificial Intelligence (AI) Laboratory in California dando nuovo impulso allo sviluppo della ricerca.
Nel 1964 la DEC introdusse il modello di computer PDP-7, una macchina con tastiera, stampante, nastro perforato e nastro magnetico che ebbe una discreta diffusione.
Erano anni di intense trasformazioni, nel 1963 Douglas Engelbart brevettò il primo mouse. L'anno seguente John Kemeny e Thomas Kurtz del Dartmouth College svilupparono il linguaggio Basic, tre anni dopo Nelson, Greenblatt e Gosper costruirono un robot con telecamera, che si muoveva, schivava gli ostacoli e afferrava degli oggetti.
Nell'1966
la IBM introdusse il primo disco magnetico, il RAMAC 305, aveva 5 MB
(sic!, cinque mega) di capacità e misurava circa 60
centimetri. L'anno dopo sempre la IBM realizzò il primo floppy
disk, che allora era flessibile (da cui il nome) e misurava 5
pollici, rimasto in uso fino a pochi anni fa.
Il famoso anno 1968, segnato dalle manifestazioni di opposizione alla guerra nel Vietnam entra anche nella nostra storia,,in quell'anno gli studenti assaltarono il laboratorio di IA di Stanford, considerata dai manifestanti colluso con gli ambienti militari.
L'anno dopo nei laboratori della AT&T Ken Thompson scriveva il sistema UNIX su una macchina PDP-7 cannibalizzata, un sistema che lascerà un grande segno nella storia successiva del software, come ben sanno gli appassionati di Linux.
Dal primo microprocessore alla nascita di Internet (1971-1991)
Il computer arriva nelle case
La prima CPU, il microprocessore 4004 della Intel, apparve nel 1971, veniva venduta per usi generici e non per essere utilizzato dai calcolatori.
Per trovare un microprocessore in un computer dobbiamo aspettare il 1975, quando l'Altair utilizzò un 8080, ma ne parleremo più avanti.
Oramai il computer incominciava ad interessare non solo gli istituti di ricerca e le grandi aziende, ma anche i piccoli utenti e i privati: nel 1972 uscì il primo numero di People's Computer Company, di Lee Felsenstein, una rivista che voleva avvicinare il computer al popolo, idealizzando un calcolatore che chiunque avrebbe potuto costruirr.
Il 1974 è una data di rilievo per gli sviluppatori di software: in quell'anno Brian Kernighan e Dennis Ritchie crearono il linguaggio C, un linguaggio universalmente utilizzato ancora oggi.
La storia dello Xerox Parc (Palo Alto Research Institute) è interessante e curiosa. Per più di un decennio, dai primi anni '70 fino alla metà degli anni '80 diede vita a un numero impressionante di innovazioni hardware e software, per menzionarne alcune: il moderno mouse, le "windows", la stampante a laser e le LAN (Local Area Network). Le potenti macchine della serie D anticiparono il personal computer degli anni '80 di un decennio. Ma l'ottusità dei dirigenti della Xerox non diede seguito a nessuna di queste invenzioni, tanto che il PARC veniva ironicamente chiamato "il laboratorio che produceva idee brillanti per chiunque ma non per la Xerox."
Il periodo che va dal '75 all'80 è particolarmente significativo per il futuro dei computer: vengono prodotti i primi calcolatori a basso prezzo per gli hobbisti e i privati, tra questi i famosi Altair e Apple.
Per chi volesse approfondire la conoscenza di questo interessante periodo consiglio il bel libro 'Hackers' di Levy, pubblicato in Italia da Shake.
Nel
gennaio del 1975 la rivista Popular Electronics metteva in copertina
la foto dell'Altair, un computer da 307 dollari prodotto dalla Mits
(Model Instrumentation Telemetry Systems) di Ed Roberts, Albuquerque,
New Mexico.
Usava una CPU Intel 8080, l'input era a levette, l'output era fatto
con delle lucine, aveva 256 byte di memoria. Veniva venduto in kit
di montaggio. Molti di voi l'avranno visto nel film "War Games".
Praticamente non serviva a niente, ma se ne vendettero 2000 pezzi in
poche settimane.
L'Homebrew Computer Club,
una
associazione di entusiasti di computer che avrà una certa
influenza nello sviluppo dei primi PC,
tenne la sua prima riunione Il
5 marzo '75.
Erano degli appassionati
utilizzatori e auto costruttori, Bob Marsh, uno
dei soci, realizzò una scheda di espansione di memoria da 2k,
Harry Garland e Roger Melen una scheda video, entrambe per l'Altair,
l'attività della associazione diede una spinta significativa all'uso e
allo sviluppo dei computer personali.
Nello stesso periodo Bill Gates e Paul Allen scrissero un Basic per l'Altair, che misero in vendita a 105 dollari, un prezzo straordinariamente alto se confrontato a quello della macchina. In giugno delllo stesso anno venne fatta la (forse) prima copia illegale di software: qualcuno fece circolare dei nastri perforati copiati con su il Basic di Gates e Allen. Bill reagì duramente scrivendo una lettera a diversi giornali,oggi famosa, denunciando la *pirateria* della copia del software.
Jim Warren rispose a Gates su Doctor Dobbs Journal : "Il software, quando sarà gratis o così poco costoso che sarà più facile pagarlo che duplicarlo, non verrà più rubato". Una affermazione tuttora molto valida.
Per dimostrare quanto Bill Gates fosse esoso, Tim Pittman scrisse un Tiny Basic e lo mise in vendita a 5 dollari la copia. (Comunque fece un buon affare perché poi lo vendette alla Amy Co per 3,500 dollari, e non in esclusiva.) Tim Pittman va ricordato come uno dei primi propugnatori del free software.
Lee Felsenstein, il fondatore della Pleople Computers Co. di cui abbiamo già parlato, che era una associazione più che una vera azienda, intanto continuava a progettare cose molto interessanti. Nel febbraio del 1976 Les Solomon chiese a Lee di progettare e realizzare un interessante Personal Computer, il Sol, che venne presentato agli inizi del '77, ma che non riuscirà a vincere la concorrenza dell'Apple uscito appena pochi mesi dopo. Il Sol era una macchina con tastiera e video, molto simile alla Apple.
Nasce il Personal Computer
Steve Wozniak iniziò a costruire nel 1976 un computer con tastiera, video, scheda madre e espansioni, non molto lontana dai PC di oggi. Steve Jobs, scalzo e sporco, è la mente imprenditoriale, mentre Wozniak è un hacker puro, restio a lasciare il proprio posto alla HP, che nel frattempo aveva rifiutato sdegnosamente la sua proposta di produrre un PC.
Alla Fiera di San Francisco del 14 aprile 77 vennero esposti 4 Apple II. Fu un successo sfolgorante, solo tre anni dopo, nel 1980, la Apple fatturerà ben 139 milioni di dollari!
Oggi si ricorda solo l'Apple, ma in quel periodo furono prodotte altre macchine di ottima qualità che ebbero un notevole successo ma che poi scomparvero dal mercato con l'arrivo del PC IBM e dei suoi cloni : buon successo ebbero il Pet della Commodore e il Trs-80, prodotta dalla Tandy Radio Shack e che montava un processore Zilog Z-80.
Vanno inoltre ricordati almeno altri due produttori allora molto famosi, la Sinclair che realizzava i famosi ZX-80, ZX-81 e ZX Spectrum con i microprocessori Zilog e la Acorn che produsse un personal diffusissimo in Gran Bretagna che venne utilizzato per il programma di istruzione della BBC, si chiamava appunto BBC Microcomputer.
In pochi anni si vendettero milioni di personal computer.
Ma la svolta decisiva verso la definitiva diffusione di massa dei computer avvenne nel 1980 quando l'IBM, avendo constatato la potenzialità del mercato dei PC, decise di produrne uno, che diventerà subito uno standard per tutti i personal computer.
Fu anche il momento in cui inizia la fortuna di Bill Gates. L'IBM aveva trascurato l'importanza del software e si era concentrata sulla realizzazione dell'hardware. Avendo quindi bisogno di un sistema operativo si mise a cercarne uno disponibile subito. Bill Gates fu uno dei pochi interpellati. Nell'agosto del 1980 Gates comprò dalla Seattle Computer Product il Q-Dos, un sistema operativo scritto in sei settimane da Tim Paterson, e propose alla IBM di adattarlo al PC IBM, nacque così il famoso MS-Dos.
L'anno dopo apparve il primo PC IBM con VisiCalc (un foglio elettronico) e EasyWriter (un word processor) scritti di John Draper, uno sviluppatore con il soprannome di Capt. Crunch, noto per esser stato più volte condannato per esser entrato illegalmente nella rete telefonica.
Le
macchine Apple e Macintosh erano sicuramente di pari qualità
delle macchine PC IBM se non superiori, ma la Apple perse via via quote
di
mercato, mentre i PC IBM e relativi cloni presero il volo,
trascinando
con se anche il MS-Dos e poi Windows. Perché ?
In fondo il sistema operativo MAC era ottimo e così pure i suoi
applicativi.
Probabilmente
la ragione va ricercata nella scelta strategica della Apple, che
decise di non concedere il diritto di installare il proprio sistema
operativo MAC nelle macchine costruite da terzi. La IBM era, ed è
tuttora un costruttore di hardware, per la IBM il sistema operativo è
solo un accessorio anche se indispensabile. Infatti il valore del
sistema operativo rappresentava solo pochi percento del valore della
macchina. Quindi si creò una situazione dove vari costruttori
potevano fabbricare dei cloni dei PC IBM installandovi MS-Dos e
Windows,
mentre non potevano farlo con il sistema MAC. La domanda di PC era
molto forte, molti costruttori reagivano costruendo
PC e
installando Windows, mentre Apple perdeva quote di mercato.
La nascita di Internet
Il primo collegamento che
assomiglia all'Internet di oggi venne realizzato nel 1965
tra le Università del Massachusetts e della
California
da Roberts
e Merril,
ma allora non esistevano
ancora i protocolli TCP/IP.
L'anno seguente Roberts andò alla DARPA (ex ARPA) e preparò i piani per ARPANET, una rete con un primo nodo all'UCLA ed un secondo allo Stanford RI. Nel 1969 diversi host risultavano collegati in Arpanet.
Nel 1972 Khan sviluppò il famoso protocollo TCP/IP, all'inizio orientato ai collegamenti via radio e si chiamava Internetting. Venne successivamente incorporato in Unix BDS, un sistema operativo utilizzato diffusamente dalla comunità scientifica.
Nel 1980 il protocollo TCP/IP divenne lo standard militare ma per nostra fortuna nel 1985 la DARPA annunciò in una famosa conferenza che lo metteva gratuitamente a disposizione della comunità scientifica.
La National Science Foundation (NSF) l'anno seguente decise di servire tutta la comunità educativa di alto livello e di concedere fondi a tutte le Università americane che avessero adottato il protocollo TCP/IP. Con grande lungimiranza, la NSF decise di finanziare l'introduzione di Internet nelle Università a condizione del libero uso a tutti gli utilizzatori qualificati del campus.
Un
impulso decisivo alla diffusione di Internet fu l'introduzione del
World-Wide Web nel 1991, un sistema di accesso all'informazione
distribuita, sviluppato al CERN di Ginevra, Svizzera. Grazie
al WWW in pochi anni gli utenti collegati a Internet aumentarono
vertiginosamente.
Il resto è storia contemporanea.
(fine)
versione
del 02/03/03
modifiche minori dicembre 2006
Copyright 2003 Giulio Mazzolini. Il presente testo è liberamente copiabile e distribuibile a terzi a condizione che le copie siano conformi alla presente e che ogni copia contenga la presente licenza.