| Informatica: un'introduzione |
|
Molti pensano che Informatica sia saper copiare un CD, masterizzare un DVD o reinstallare il noto sistema operativo della Software House di Redmond quando non funziona. Ma Informatica, non solo non è questo, ma è molto di più di questo. Informatica - Disciplina che studia la progettazione, la programmazione e l'applicazione del computer all'elaborazione e al trasferimento delle informazioni; L'Informatica è prima di tutto una scienza, questo si evince con più facilità se si pensa al nome con cui è nata, Computer Science. Ma ora un po' di storia Le origini dell'informatica possono essere fatte risalire alla progettazione delle prime macchine in grado di effettuare operazioni matematiche (il calcolatore di Pascal nel XVII secolo), ma solo a partire dalgli anni '30 l'informatica diventa una disciplina scientifica a sé stante. Nella seconda metà degli anni Quaranta, gli studi e le esperienze di Turing in Inghilterra e di Atanasoff negli Stati Uniti portarono alla costruzione delle prime macchine elettroniche capaci di elaborare informazioni e algoritmi un po' più complessi. Queste macchine erano molto ingombranti (occupavano intere stanze) e utilizzavano migliaia di valvole: venivano programmate in linguaggio macchina, da operatori che modificavano manualmente le connessioni fra i circuiti. Solo verso la fine degli anni Cinquanta il lavoro di programmazione venne semplicato con l'introduzione delle schede perforate. L'introduzione dei transistor, nella seconda metà degli anni Cinquanta, e successivamente quella dei circuiti integrati, nella seconda metà degli anni Sessanta, trasformarono gradualmente l'elaboratore elettronico in uno strumento di dimensioni più ridotte, affidabile, che di conseguenza iniziò a essere disponibile sul mercato. I primi computer erano macchine costose, che potevano venire acquistate solo da agenzie governative, grossi centri di ricerca e università; in seguito, l'abbassamento dei prezzi e la differenziazione di dimensioni e prestazioni delle macchine allargò l'utenza anche a società private. Con l'introduzione dei microprocessori, a partire dalla seconda metà degli anni Settanta, nacquero i microcomputer, o personal computer, che resero l'elaboratore elettronico accessibile alla grande utenza, sia dal punto di vista del prezzo che dell'ingombro. Anche l'interfaccia con l'utente subì notevoli semplificazioni: alle schede perforate si affiancarono i terminali video, le unità nastro. Negli anni Ottanta si avviò uno sviluppo di microprocessori di potenza crescente (Z 80 di Zilog, da 8088 fino a P6 di Intel, 680xx di Motorola, microprocessori a tecnologia RISC, Alpha di Digital) che continuò negli anni seguenti con rapidità incalzante, spinto dall'espansione del mercato. I progettisti di sistemi informatici si dovettero però preoccupare non solo di creare microprocessori più potenti, ma soprattutto, per soddisfare le esigenze del mercato, di semplificare l'utilizzo dei microcomputer. Nei laboratori di Palo Alto della Xerox si cominciarono a studiare nuove interfacce utente: nacquero la presentazione delle istruzioni in forma di "finestra" (utilizzata poi nei sistemi come Apple MacOs, OSF-Motif, X-Window) e sistemi di puntamento innovativi. Per quanto riguarda il software è opprotuno dire che anch'esso subi una graduale evoluzione man mano che l'hardware si andava facendo più versatile. I primi sistemi operativi facevano uso di modalità batch (sequenziale), attualmente ancora utilizzata solo nei centri di calcolo per l'elaborazione di programmi molto lunghi, dotati di funzioni e calcoli laboriosi; più comunemente oggi l'elaborazione avviene in modo interattivo, ovvero con una risposta immediata della macchina alle richieste dell'utente. I primi linguaggi di programmazione di alto livello, sviluppati a partire dalla metà degli anni Cinquanta, furono il FORTRAN, orientato alle applicazioni scientifiche, e il COBOL (COmmon Business Oriented Language), orientato alle applicazioni di carattere commerciale. Intorno agli anni Sessanta gli studi sull'intelligenza artificiale portarono allo sviluppo di linguaggi funzionali, costituiti essenzialmente da un sistema di definizioni di funzioni e dalle loro chiamate. Il più famoso di questi linguaggi è il LISP, ebbe poca fortuna inizialmente, riuscendo ad affermarsi solo a partire dalla fine degli anni Settanta, soprattutto in settori dove non era applicabile l'analisi numerica, ma si rendeva necessaria una programmazione in termini di simboli e strutture. La necessità di poter rendere disponibile uno stesso computer a più utenti (multiutenza), in centri di ricerca, università e aziende, condusse allo sviluppo di sistemi operativi multiutente come Unix, VMS, MVS. La proliferazione degli utilizzi dei computer condusse i programmatori a richiedere e sviluppare linguaggi più potenti e versatili: nacquero così linguaggi come il C (dalle necessità degli sviluppatori di Unix), il Pascal (linguaggio creato per scopi didattici), Ada (su direttive del Dipartimento della Difesa). In particolare si deve alla richiesta del Dipartimento della Difesa statunitense di progettare un sistema di trasmissione di dati abbastanza robusto da "sopravvivere" a un conflitto mondiale anche lo sviluppo, nella prima metà degli anni Settanta, dei protocolli TCP-IP, su cui è basata la rete che oggi tutti conoscono come Internet. Negli anni Ottanta nascono, grazie all'avvento di macchine più potenti, linguaggi di programmazione come il C++, un'estensione del C orientata agli oggetti o il Prolog, progettato per l'intelligenza artificiale, nascono inoltre linguaggi orientati a compiti speciali come SQL (per l'interrogazione di database client-server), Tcl/Tk (per la realizzazione di interfacce utente) e HTML (per la realizzazione di pagine Web). Gli sviluppi dell'informatica negli anni Novanta sono principalmente, ma non unicamente, dovuti al progressivo affermarsi della rete mondiale Internet e alla richiesta di sempre più numerosi servizi attraverso la stessa: si sono così diffusi linguaggi pensati espressamente per la rete, come Java (orientato agli oggetti, per la condivisione di codice eseguibile e servizi client-server), e vari programmi per la navigazione. Ovviamente questo è stato solo un breve riassunto di quello che è stata ed è la Computer Science, ma spero che sia servito almeno ad incuriosirvi e ad instillare in voi un po' del desiderio di conoscenza che è la base di questa disciplina. Paolo Montalto |






