CNR - Copertina - Perché Freesoft |
Articolo
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.
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.
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!
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.
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.
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 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.
(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.
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.
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!
È 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)
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
CNR - Copertina - Perché Freesoft |