[precedente] CNR - Copertina - Perché Freesoft [successivo]

Articolo


Appunti per una Storia dei Calcolatori e del Software dal 1945 al 1981. Ovvero dalla nascita di ENIAC al PC IBM.

"Non esiste vera conoscenza senza memoria storica"
(ma chi l'ha detto??)

Ho raccolto questi appunti con l'intento di scrivere una storia del computer che desse una "memoria storica" a tutti coloro che si avvicinano al computer ed in particolare al software libero, affinchè sappiano che quello che oggi sembra "normale" è il risultato di una profonda evoluzione, rapidissima e quasi incredibile.

Li pubblico così come sono, in forma di appunti, in quanto non so quando e se scriverò il testo. Ci sono probabilmente alcune cose sbagliate e forse anche omissioni di avvenimenti fondamentali, chi volesse integrare/correggere è benvenuto.


la preistoria: dal 1945 al '55: le macchine a valvole.

Si considera l'ENIAC il primo "calcolatore" moderno.

In verità di "calcolatori", ovvero di macchine in grado di eseguire calcoli matematici, ne esistevano già prima, ma erano di tipo elettromeccanico o analogico.

Per esempio nel "40 c'era il Mark I, un calcolatore elettromeccanico con memoria su carta perforata, (proprio così, su carta perforata) ma ovviamente molto lento.

I calcolatori analogici erano invece più veloci ma anche molto imprecisi, dando come risultato non un numero ma una curva da misurare e interpretare.

I tempi di una moltiplicazione per una macchina elettromeccanica erano dell'ordine dei 1-3 secondi, ENIAC invece faceva una moltiplicazione in un millisecondo.

La costruzione dell'ENIAC iniziò nei primi anni '40 nei laboratori dell'Università di Pensilvania (la Moore School of Electrical Engineering), a seguito di un progetto finanziato dall'esercito che era interessato ad eseguire i calcoli balistici in tempi più brevi di quanto si facesse sino ad allora; ( si facevano a mano e così tra un tiro ed un altro passava un bel po' di tempo..); l'ENIAC iniziò a lavorare nel 1945.

Fu usato anche per calcoli complessi richiesti da Fermi per i laboratori di Los Alamos, e quindi per alcuni calcoli necessari allo sviluppo della bomba atomica, ma non sembra che la decisione di costruire l'ENIAC fosse una diretta conseguenza del programma atomico.

ENIAC era una macchina elettronica e digitale, del tipo a valvola: usava ben 18.000 tubi catodici.

Pur essendo digitale, e quindi non analogica, usava un sistema numerico "decimale" e non "binario".

La memoria era a flip-flop, cioè con due valvole che ad ogni eccitazione cambiavano stato, e permetteva solo dieci parole di memoria.

È stata spenta nel 1955 e trasportata allo Smithsonian, dove si trova tuttora.

Uno dei progettisti coinvolti nel progetto ENIAC era il grande matematico Von Neuman, che intuite le potenzialità dell'ENIAC ma anche i suoi limiti, progettò un'altra macchina più moderna, l' EDVAC, che venne ultimato nel 1950.

La macchina EDVAC usava per la prima volta il sistema digitale "binario" ed aveva una architettura interna che fu adottata da quasi tutti i calcolatori seguenti. Inoltre usava un sistema di memoria a ritardo acustico in tubo di mercurio, che permetteva di aumentare la memoria di 100 volte e di ridurre notevolmente gli ingombri.

Il problema della memoria era uno dei problemi principali, infatti le macchine dovevano appoggiare i risultati parziali dei calcoli da qualche parte e la scarsità di memoria le rendeva lente.

Il primo calcolatore ad adottare la memoria sonica fu l'EDSAC (Electronic Delay Storage Automatic Calculator) costruito nei laboratori di Cambridge e terminato nel 1949.

In questi primi calcolatori (1946-1950) le istruzioni venivano immesse nella macchina direttamente in binario per mezzo di schede perforate. Le schede perforate erana già ampiamente usate nelle macchine elettromeccaniche e quindi erano un mezzo ben conosciuto ed collaudato ed esistevano macchine di perforazione e di lettura delle schede affidabili.

Il programmatore scriveva in un linguaggio mnemonico convenzionale, la macchina riconosceva poche istruzioni ma solo in codice binario, quindi poi degli "umani" dovevano tradurre il mnemonico in binario!!

Solo nel 1949 EDSAC fu in grado di tradurre il codice mnemonico in binario, realizzando così un primo "compilatore" anche se molto rudimentale.

Dal 1950 in poi gli sviluppi tecnici sono tumultuosi ed incessanti: nel 1950 la ERA (Engineering Reaserch Associated, poi Remington Rand poi Sperry Rand) costruì una delle prime macchine con memoria a tamburo magnetico, migliorando di molto il problema che come sappiamo era uno dei problemi più importanti, in quanto era sempre molto limitata e soprattutto molto ingombrante.

La memoria a nuclei magnetici.

L'invenzione dei nuclei magnetici di memoria di Forrester (1951) rivoluzionò (una delle tante rivoluzioni...) le macchine: nel 1951 UNIVAC produceva due tipi di macchine (la I ela II) con memoria a nuclei magnetici, praticamente i primi computer di grandi dimensioni ad esser commercializzati.

Fino ad allora le macchine erano fatte praticamente su misura su richiesta di un istituto di ricerca, che poi ci metteva le mani sopra e le ampliava e migliorava se adirittura non se le autocostruiva.

Intanto anche il software inizia la sua infanzia, nel 1952 venne preparato un breve codice per l'UNIVAC, come si è detto al momento l'unica produttrice di macchine di grandi dimensioni per il mercato.

Nel 1953 IBM mise in vendita il 701, con tubi di memoria elettrostatici, tamburo magnetico e nastri magnetici, il primo calcolatore IBM di grandi dimensioni in concorrenza con l'ERA.

Nel 1954 si iniziò a sviluppare il FORTRAN, finito nel 1957 che divenne in breve il linguaggio più diffuso nel mondo. Prima del FORTRAN l'UNIVAC aveva i primi semplici compilatori, A-0 e A-1, poi l A-2 e A-3.

Nel 1955 IBM produsse il 704 a valvole ma con memoria a nuclei magnetici, per l'input usava sempre schede perforate. Per inciso, il 704 costava alcuni milioni di dollari.

Nello stesso periodo esce il 650 IBM, con tamburo magnetico, nuclei magnetici e nastri. Era più lento del 701 ma per il basso costo venne adottata da molte università. Nel '55 c'erano installate un migliaio!

1956 : le macchine a transistor

La scoperta del transistor produce ovviamente un'altra grande rivoluzione nei calcolatori.

Il primo computer a transistor è il TX-0, siamo nel 1956, che abbandona le schede perforate per l'input utilizzando un nastro di carta perforata con la flexotype, che veniva introdotta in un apposito lettore. Un gran passo avanti, infatti il programmatore poteva scrivere sulla flexotype, una specie di macchina da scrivere e poi inserire il nastro nel lettore subito dopo, cosa che con le schede perforate era quasi impossibile. Si tratta sempre si macchine "batch", cioè si scrive il programma a tavolino, si perfora il nastro, poi si inserice e si stampa il risultato che si riporta nel proprio studio per analizzarlo. Inutile dire che così ogni "buco" veniva risolto solo dopo un numero sterminato di tentativi.

Ancora niente monitor, solo luci e audio. Però la memoria è di ben 4.096 parole (una parola 18 bit).

In quell'anno Jack Dennis scrisse un "assemblatore", che traduceva il linguaggio assembly in codice binario.

Nel 1957-58 la Remington Rand sviluppa il linguaggio UNICODE per le macchine 1103A e 1105.

Nello stesso periodo appare l' ALGOL, sviluppato da gruppo tedesco-americano su base di lavori precedenti di Rutishauser, che inventò in pratica il primo compilatore (1953), ma che non venne mai usato.

1959: arriva al MIT il mitico John McCarthy che inizia a scrivere il Lisp. Inizia anche un programma per giocare a scacchi, che venne poi perfezionato da Kotok, che ci lavorò per anni.

1961- Arrivano i circuiti integrati.

Nel 1961 la Fairchild Semiconductor produce i primi circuiti integrati che vengono rapidamente utilizzati dai costruttori di computer, riducendo ancora dimensioni e costi.

Nel 1961 arriva al Mit il Computer Pdp-1, per la ricerca scientifica, costa "solo" 120,000 $, ha input con flexowriter e un finalmente un monitor.

(1960-L'Agenzia dell'Esercito per la ricerca (Advance Research Project Agency, ARPA inizia a finanziare progetti di ricerca nel campo dei computer.)

Nel 1962 Zio McCarty lascia il Mit e va allo Stanford Artificial Intelligence (AI) Laboratory in California.

Nel 1963 Douglas Engelbart brevetta il primo mouse.

Nel 1964 John Kemeny e Thomas Kurtz sviluppano il linguaggio Basic al Dartmouth College.

Nel 1966 esce il Pdp-6, con questa macchina i mitici Nelson, Greenblatt e Gosper, realizzano un robot con telecamera che si muove e schiva gli ostacoli e prende degli oggetti.

1966 Il primo disco.

Nell'1966 la IBM introduce il primo disco di memoria, il RAMAC 305, ha 5 MB ( si, cinque mega) di capacità e misura circa 60 centimetri.

L'anno dopo ancora la IBM costruisce il primo floppy disk.

1968: assalti allo IA di Stanford, considerata dai manifestanti un centro colluso con gli ambienti militari (c'era la guerra nel Vietnam).

1969: Nasce UNIX nei Laboratori Bell della AT&T

1970 nascono le CPU.

Sotto la direzione di Federico Faggin la Intel produce la prima CPU, il microprocessore 4004.

1970 Arpa riduce finanziamenti.

Nel 1972 esce il primo numero di People's Computer Company, di Lee Felsenstein. Una rivista che vuole avvicinare il computer al popolo.

1974 Brian Kernighan e Dennis Ritchie sviluppano il linguaggio C.

dal 75 al 80: Prende forma il Personal computer (PC).

Il periodo che va dal '75 all'80 è estremamente importante per lo sviluppo futuro dei computer. In questo periodo vedono luce i primi computer per gli hobbisti a basso prezzo, il cui successo convince il dinosauro IBM che esiste un mercato per i Personal Computer.

(Un bel testo per seguire questo periodo è "Hackers" di Levy, pubblicato in Italia da Shake.)

-nascita del pc Altair (1975) gennaio '75: Popular Electronics mette in copertina la foto di un computer a 307 $!.

È prodotto dalla Mits (Model Instrumentation Telemetry Systems, di Ed Roberts, Albuquerque, New Mexico. Usa una CPU Intel 8080,, l'input è a levette, output a lucine..., 256 byte di memoria. Viene venduto in kit di montaggio. Praticamente non serve a niente, ma Ed ne vende 2000 pezzi in poche settimane, tanto che non riesce a stare dietro agli ordini.

Gates contro Homebrew

Il 5 marzo '75 prima riunione Homwbrew Computer Club, una associazione di entusiasti di computer che avrà una certa influenza nello sviluppo dei primi pc. Bob Marsh, uno dei soci, realizza una scheda espansione memoria 2k, Harry Garland e Roger Melen una scheda video entrambe per l'Altair.

All'inizio del 1975, Bill Gates a Paul Allen scrivono un Basic per Altair, che vendono a 105$!! In giugno avviene la (forse) prima copia illegale di un software: qualcuno fa girare dei nastri perforati con su il Basic di Gates e Allen. Bill reagisce duramente scrivendo una lettera denunciando la *pirateria*, a diversi giornali.

Il Basic, forse anche perchè copiato da molti, diventò uno standard.

La risposta alla lettera di Gates venne data da Jim Warren su Doctor Dobbs Journal:

"il software, quando sarà gratis o così poco costoso che sarà più facile pagarlo che duplicarlo, non verrà piu' rubato"

Per dimostrare quanto Bill fosse esoso, Tim Pittman scrisse un Tiny Basic e lo mise in vendita a 5 $ la copia. Comunque fa un buon affare perchè poi lo vende alla Amy Co per 3,500 $, e non in esclusiva.

Tim è stato uno dei primi difensori del free software.

Lee Felsenstein, il fondatore della People Computers Co., che era in realtà una associazione più che una vera azienda, continua a progettare cose interessanti, per esempio fa una scheda video per l'Altair (che era senza video..).

Nel febbraio del 1976 Les Solomon chiede a Lee di progettare e realizzare il Sol, che viene presentato agli inizi del '77, ma non riuscirà a vincere la concorrenza dell'Apple che esce pochi mesi dopo. È una macchina con tastiera e video, simile alla Apple.

la storia di Apple.

Steve Wozniak nel 1976 iniziò a costruire (nel mitico garage..) un computer con tastiera e video, con scheda madre e espansioni, non molto lontana dai PC di oggi. Steve Jobs, scalzo e sporco, è la mente imprenditoriale, mentre Woz è un hacker puro, restio a lasciare il posto alla HP, che nel frattempo rifiuta sdegnosamente la proposta di Wozniak di produrre un PC.

14 aprile 77, Fiera di San Francisco, 4 Apple II esposti,

Il successo di Apple e degli altri PC (Il Pet e il Trs-80) è incredibile, in pochi anni se ne producono milioni!.

Basta una cifra: nel 1980 Apple fattura ben 139 milioni di USD!

Il PC IBM

La svolta decisiva: nel 1980 l'IBM, avendo constatato la potenzialità del mercato dei PC decide di produrne uno, che diventerà subito uno standard.

È anche il momento in cui inizia la fortuna di Bill. L'IBM aveva trascurato l'importanza del software e si era concentrata sull'hardware. Avendo quindi bisogno di un sistema operativo chiamò Bill e lo incaricò di scriverne uno, l'MS-Dos per l'appunto.

1980, agosto, Bill compra da Seattle Computer Product il Q-Dos e lo adatta al PC IBM.

1981 primo PC IBM. con VisiCalc (un foglio elettronico) e EasyWriter (un word processor) di John Draper (famoso con il soprannome di Capt. Crunch per esser stato più volte condannato per esser entrato illegalmente nella rete telefonica)

Appendice: 1986-Arpanet ed Internet.

1965- primo collegamneto tra le Università del Massachusetts e della California: è la prima wan, realizzata da Roberts e Merril.

1966-Roberts va alla DARPA (ex ARPA) e fa i piani per ARPANET, una rete con un primo nodo all'UCLA ed un secondo allo Stanford RI.

1969 diversi host vengono collegati in Arpanet.

1970 nasce il protocollo NCP.

1972 Khan sviluppa il TCP/IP. (Kahn e Cerf). Mirava ai collegamenti radio, si chiamava Internetting. Usava il sistema dei packet switching.

1976 prima pubblicazione su ARPANET

Il protocollo internet viene incorporato in Unix BDS, che viene usato dalla comunità scientifica.

1980 TCP/IP diventa lo standard militare.

gennaio,1,1983, transition da NCP a TCP/IP.

1985 conferenza DARPA su TCP/IP, dove i militari spiegano pubblicamente come è fatto lo standard TCP/IP

1986 La National Science Foundation (NSF) annuncia che intende servire tutta la comunità educativa di alto livello dando fondi alle Università affinchè adattino TCP/IP. È in pratica l'anno di nascita di Internet.

Con grande lungimiranza, la NSF finanzia a condizione che l'Università che riceve i fondi per un collegamento Internet dia la possibilità a tutti gli utilizzatori qualificati del campus di utilizzarlo.

Negli anni dal '86 al '94 la Rete passa da sei nodi a 56kbps a 21 nodi a 45 Mbps. La rete passa a 50.000 reti nel mondo di cui 29.000 nei soli USA.

Ovviamente le cifre odierne sono molto maggiori, ma oramai non è più storia ma attualità

di Giulio Mazzolini


[precedente] CNR - Copertina - Perché Freesoft [successivo]