Tesina informatica
Tesina informatica
Questo sito utilizza cookie, anche di terze parti. Se vuoi saperne di più leggi la nostra Cookie Policy. Scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.I testi seguenti sono di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente a studenti , docenti e agli utenti del web i loro testi per sole finalità illustrative didattiche e scientifiche.
Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).
Tesina informatica
Storia dell’Informatica
Presentazione del volume
Questo testo non descrive solo gli oggetti fisici che documentano lo sviluppo dell’Informatica e delle sue applicazioni, ma espone anche
- una panoramica dei fatti e delle leggi naturali nell’ambito dei quali è nato il concetto di informazione e
- la storia delle idee e dei problemi connessi con il trattamento dell’informazione e illustra il processo evolutivo che ha portato, nel tempo, al raggiungimento degli obiettivi rilevanti per questa disciplina.
La storia, che ha come protagonisti i metodi e gli strumenti per la rappresentazione e l’elaborazione dell’informazione, ha inizio con eventi maturati nell’ambito della evoluzione naturale che hanno prodotto tre organizzazioni assimilabili a sistemi informativi.
Il fatto rilevante iniziale è rappresentato dall’affermarsi del primo sistema informativo basato sulla presenza delle quattro forze fondamentali: la gravità, le due forze nucleari (forte e debole) e l’elettromagnetismo. Questo sistema informativo, a partire da pochi istanti dopo il Big Bang, determina il comportamento (fisico, chimico e biologico) di tutto ciò che esiste nell’universo.
Il secondo sistema informativo è quello governato dal programma che presiede alla riproduzione delle cellule degli organismi viventi; questo software di gestione del sistema vita è scritto in codice in una memoria stabile detta DNA (acido desossiribonucleico) che strutturalmente è una macromolecola organica capace di replicarsi proponendosi come sede dell’informazione di generazione in generazione.
Il terzo sistema informativo prodotto dall’evoluzione risiede nel sistema nervoso dell’homo sapiens e ha come componenti significative una unità centrale per la memorizzazione e l’elaborazione dell’informazione (il cervello) e unità periferiche (sensori e attuatori) che consentono ad ogni individuo di entrare in comunicazione con altri individui e con l’ambiente.
Questi sistemi informativi hanno consentito l’emergere del linguaggio naturale che è lo strumento con il quale sono iniziati la produzione e l’accumulo della cultura. Il testo cerca di raccontare la storia di questa crescita culturale con particolare riferimento al percorso che ha condotto alla costruzione del computer. Questo percorso, che inizia con il Big Bang e termina con le applicazioni dell’Intelligenza Artificiale, è suddiviso in capitoli corrispondenti a periodi temporali significativi per la storia dell’Informatica intesa in senso lato come storia dell’informazione e dei metodi e delle tecnologie per il suo trattamento automatico. I periodi temporali e le date vanno considerati come indicativi; gli eventi significativi utilizzati in questo contesto sono riportati tra parentesi.
Dal Big Bang fino al 3000 ac (l'invenzione del linguaggio scritto).
Dal 3000 ac fino al 1600 dc (la nascita della scienza moderna).
Dal 1600 fino al 1946 (la realizzazione del primo elaboratore moderno).
Dal 1946 fino al 1979 (la nascita del personal computer).
Dal 1979 fino al 1994 (Internet e la diffusione del www).
Dal 1994 fino a oggi (WiMax, IEEE 802.16).
Da oggi a domani
Prima di iniziare il percorso evolutivo che ha portato alla identificazione della disciplina Informatica si ritiene utile darne una rapida definizione. Questa è la disciplina che studia le tecniche, le metodologie e i problemi connessi con la rappresentazione, la memorizzazione, il reperimento e l’elaborazione automatica dell’informazione.
In questo contesto l’aggettivo automatico significa che l’elaborazione viene svolta dall’esecutore in modo meccanico, seguendo un procedimento descritto in modo esplicito e non ambiguo; in altri termini, l’Informatica è la disciplina che si occupa dei processi di elaborazione dell’informazione che sono descritti da algoritmi. Un ruolo essenziale in informatica è quindi svolto dai linguaggi che hanno la capacità espressiva di poter descrivere qualsiasi algoritmo: questi linguaggi si dicono linguaggi di programmazione.
L’Informatica ha quindi una doppia valenza: applicativa e culturale.
La prima è dovuta al fatto che è possibile costruire macchine (i computer) che sanno eseguire procedimenti di elaborazione descritti con linguaggi di programmazione.
La seconda discende dalle strette “parentele” che l’Informatica ha con numerose altre discipline:
- con la matematica ha in comune lo studio degli algoritmi e delle tecniche di rappresentazione dell’informazione,
- con lo studio della madrelingua ha in comune il problema della comunicazione e della comprensione di messaggi linguistici (capire e farsi capire),
- con le scienze cognitive ha in comune lo studio dei problemi della conoscenza (il rapporto fra intelligenze naturali e artificiali),
- con l’elettronica ha il compito di progettare periferiche, computer e reti per trasmettere, ricevere, memorizzare ed elaborare l’informazione.
Nel linguaggio di tutti i giorni ci riferiamo all’Informatica, per indicare tre cose distinte, per quanto tra loro collegate:
- Un insieme di servizi e manufatti.
- Una tecnologia che rende possibili quei servizi e quei manufatti.
- Una disciplina scientifica che giustifica e studia quella tecnologia.
1. L’informatica come insieme di servizi e manufatti è quella che sperimentiamo ogni giorno: posta elettronica, video sul telefonino, informazioni sul web ecc. sono servizi resi possibili dall’impiego dei computer come manufatti capaci di elaborare dati e informazioni e di collegarsi con altri sistemi simili fino a realizzare reti interconnesse che coprono il mondo intero.
2. La realizzazione di questi servizi e lo sviluppo di questi manufatti sono l’oggetto specifico dell’informatica come tecnologia. Abbiamo oggi tecniche raffinate e in rapidissimo divenire che ci permettono di realizzare servizi sempre più efficaci e pervasivi e di costruire computer sempre più potenti. Queste tecnologie, in quanto informatiche, riguardano l’oggetto specifico di questa disciplina, che è il trattamento, la memorizzazione e il trasferimento dell’informazione.
3. La tecnologia non potrebbe esistere se non si fondasse su risultati e teorie generali. E questa è l’Informatica nella sua accezione più ampia. L’Informatica teorica studia in primo luogo cosa è l’informazione, per sviluppare poi tecniche e teorie generali per la sua trasmissione, il suo immagazzinamento, il suo trattamento, anche in modo indipendente da specifiche realizzazioni. L’Informatica come scienza precede ed è indipendente dai computer. È una scienza di base i cui concetti fondamentali (informazione, algoritmo, complessità ecc.) dovrebbero essere conosciuti da qualunque persona colta (come i concetti di numero, spazio, tempo ecc.).
Capitolo-01
Energia, materia, informazione e linguaggio
Il mondo materiale è in tutto o in parte costituito da informazione che è, in definitiva, il seme irriducibile dal quale emerge ogni cosa. L’emergere della vita, la nascita del linguaggio e l’accumularsi della cultura sono stati resi possibili dal fatto che la materia e l’energia hanno la capacità di elaborare l’informazione; questa capacità rende plausibile la teoria dell’evoluzione naturale che, basandosi su semplici leggi fisiche, spiega l’evoluzione di sistemi così complessi come gli esseri viventi. “La rivoluzione digitale degli ultimi anni non è che l’ultima di una lunga serie di rivoluzioni dell’informazione: l’hanno precedute, tra le altre, la nascita del linguaggio, l’inizio della riproduzione sessuata, l’origine della vita, il Big Bang. Ogni rivoluzione ha posto le basi per quella successiva, e tutte sono avvenute grazie alla capacità intrinseca dell’universo di elaborare informazioni. La complessità è una conseguenza necessaria di questa capacità dell’universo. La vita, il sesso, il cervello, la civiltà non sono apparsi nel mondo per puro caso.” [Seth Lloyd, Il programma dell’universo, Einaudi].
La fisica e la chimica
La storia del mondo documenta un continuo scambio di informazione diffusa in tutto l’universo; informazione presente non solo come campi di forze, ma anche scritta sulla pietra e sui papiri, codificata nel DNA e nella mente delle persone e, ora, anche nella memoria di un computer.
Pochi attimi dopo il Big Bang, sono emerse le quattro forze fondamentali che regolano la vita dell’Universo: la gravità, le così dette forze nucleari forte e debole e la forza elettromagnetica. Queste forze, poiché determinano comportamenti, si può dire che sono capaci di trasmettere informazione e sono quindi assimilabili a un sistema informativo. Pertanto, tutto ciò che oggi esiste nell’universo (dagli atomi ai cristalli e dalle cellule agli organismi viventi vegetali e animali), oltre che in termini di materia e di energia può essere descritto anche in termini di scambio di informazione.
Entro il primo secondo di vita dell’universo nascono i fotoni, i neutrini, gli elettroni, i protoni e i neutroni; dopo 200 secondi si formano i primi nuclei di idrogeno e di elio.
Dopo diecimila anni dal big bang, termina la così detta era dell’energia e inizia quella della materia;
a trecento mila anni compaiono i primi atomi.
Dopo circa un miliardo di anni si formano le galassie e quindi le stelle che funzionano come forni all’interno dei quali, per fusione dei nuclei di elementi leggeri, si creano quelli di elementi più pesanti: carbonio, ossigeno, ferro, ecc.
Dopo qualche miliardo di anni si hanno le prime supernove; cioè le prime stelle scoppiano e i nuclei pesanti invadono l’universo.
Dopo circa 10 miliardi di anni il materiale pesante comincia ad addensarsi e prende forma il sistema solare.
Questo formarsi e organizzarsi della materia è stato reso possibile da un continuo diminuire delle temperatura media dell’universo che dai 1032 gradi Kelvin (quando è emersa la gravità) passerà ai 3 gradi Kelvin attuali.
La biologia
Circa 4 miliardi e mezzo di anni fa nasce la terra, gli atomi si organizzano in molecole semplici e in strutture cristalline e infine in molecole organiche più complesse; dopo poco più di un miliardo di anni nascono le prime forme di vita.
Circa tre miliardi di anni fa sono emerse alcune strutture (organismi unicellulari) dotate di sistema informativo, cioè capaci di gestire il loro funzionamento interno e di riprodursi. Questi organismi avevano ed hanno anche la capacità di scambiare informazioni col mondo esterno. Questa caratteristica, detta anche sensibilità, è realizzata mediante sensori e attuatori che rappresentano l’interfaccia fra organismo e mondo esterno.
Con la comparsa dei viventi pluricellulari aumenta la complessità interna dell’organismo e diventa più complesso di conseguenza il sistema informativo che migliora e diversifica la sensibilità alle sollecitazioni esterne ed aumenta la capacità computazionale interna. Esso evolve fino ad assumere la valenza di un programma che descrive tutte le caratteristiche morfo-fisiologiche dell'organismo. Questo programma, chiamato genoma, contiene le informazioni necessarie alle cellule per gestire tutte le loro attività. Le cellule sono quindi macchine atomiche che, come i moderni robot impiegati nell’industria manifatturiera, sono sempre in moto e sono capaci di leggere ed elaborare informazioni utili per trasformare materia ed energia. Il software di gestione del sistema vita è scritto in codice in una memoria stabile detta DNA (acido desossiribonucleico) che strutturalmente è una macromolecola organica capace di replicarsi proponendosi come sede dell’informazione di generazione in generazione.
L’antropologia
L’evoluzione ha quindi fatto emergere organismi via via sempre più complessi nel regno vegetele e in quello animale fino alla comparsa dei vertebrati: i pesci, gli anfibi, i rettili, gli uccelli e i mammiferi. A partire da 65 milioni di anni fa emergono le prime forme di Primati e solo molto recentemente, 2 milioni circa di anni fa, compare Homo.
Il salto decisivo tra la specie Homo e le altre specieè avvenuto con l’emergere del linguaggio articolato fino alla comparsa dell'uomo anatomicamente moderno in Africa circa 160.000 anni fa. Con l’acquisizione della abilità linguistica, raggiunta al termine di un processo evolutivo durato centinaia di migliaia di anni, l’uomo ha acquistato tre dimensioni da esplorare, estranee ad ogni altra specie vivente: l’etica, l’estetica e la logica.
La sepoltura dei morti con gli oggetti usati in vita dimostra la comparsa di un rito che allude alla presenza del senso morale; le pitture rupestri e i manufatti ornamentali sono segni evidenti della presenza del senso estetico. L’evoluzione di metodi efficaci per utilizzare le risorse naturali e l’adozione di strutture sociali complesse, con la conseguente adozione di regole adatte alla vita sociale, sono un segno evidente di abilità cognitive che presuppongono capacità razionali e logiche. Infine, con la comparsa del linguaggio naturale, l’uomo si è dotato di un sistema simbolico estremamente efficace per entrare in comunicazione con i suoi simili (e forse anche con se stesso); con questa abilità, l’uomo ha appreso la competenza di organizzare le proprie azioni e di agire razionalmente e logicamente prima ancora di imparare a dipingere e a contare. L’uomo non sarà più soggetto solo ai vincoli imposti dalla natura, ma, divenuto creatore e fruitore di informazione, sarà soggetto anche alle leggi da lui stesso elaborate. In tal modo si crea l’esigenza di una disciplina per il trattamento dell’informazione. La storia dell’informatica ha quindi radici in eventi evolutivi che hanno caratterizzato la specie Homo sapiens.
Approfondimenti
La cellula
Sulla definizione di essere vivente. Due sono le cose che saltano agli occhi: gli esseri viventi hanno, a differenza della materia inanimata, da una parte un’attività autonoma sostenuta nel tempo e dall’altra una certa reattività.
Manca a tutt’oggi una definizione rigorosa di vita e di vivente, ma è abbastanza ovvio che dovrà includere almeno la nozione di massa di materia [organica] fisicamente separata dal resto del mondo, dotata della capacità di [metabolizzare materia] consumare energia nonché di quella di instaurare e sostenere una propria organizzazione interna. Sono queste in effetti le proprietà essenziali del computer [della cellula, l’unità fondamentale di tutti gli esseri viventi]. L’organizzazione delle proprie strutture [unità centrale, sistema operativo e periferiche] e la coordinazione delle corrispondenti funzioni sono la caratteristica fondamentale del computer [della cellula] e quindi degli esseri viventi in generale, anche i più elementari. Se a ciò si aggiunge la facoltà di [riprodursi e di] evolvere in continuazione, si ha un quadro abbastanza esauriente di che cosa si debba intendere per essere vivente.
I computer [le cellule] hanno [anche], in grado maggiore o minore, la proprietà di rispondere a eventi esterni e tale risposta si fonda innanzi tutto sulla capacità di avvertire cosa succede nel mondo circostante.
Possiamo chiamare sensibilità (o anche irritabilità) questa capacità ed è ovvio che non ci può essere reattività senza sensibilità. Questa risiede materialmente in apposite microstrutture presenti su un sensore, detto periferica di input, che separa il computer dal mondo circostante e che costituisce (appunto) l’interfaccia fra il suo ambiente interno e l’esterno. Un computer (la cellula) è in grado di rispondere alle sollecitazioni del mondo esterno perché possiede tre caratteristiche essenziali: la sensibilità, la capacità di far corrispondere alla ricezione di certi segnali l’approntamento di certe risposte e infine la capacità di mettere in atto queste stesse risposte.
Questo testo è stata ripreso dal libro di Edoardo Boncinelli (Il cervello, la mente e l’anima, Oscar Saggi Mondatori, pagine 9 e 10): il testo originale contiene la parola cellula (vivente) al posto della parola computer.
Il seguente schema illustra le funzioni sopra descritte [e può essere applicato anche al computer].
Sensore trasduttore ==> |
Periferia | elaboratore centro
Attuatore trasduttore ==> |
In questo schema, l’informazione gioca un ruolo fondamentale sia nel trasferire segnali raccolti dalla periferia al centro, sia nel trovare (elaborare) la risposta (cioè nel dare un significato al segnale), sia infine nell’andare a mettere in atto (mediante l’attuatore) le azioni corrispondenti alla risposta trovata.
Il concetto di organismo pluricellulare si può pari pari riformulare in termini di rete di computer.
In questi organismi, il transito dell’informazione e la sua elaborazione sono effettuati tramite il sistema nervoso; nell’uomo, l’elaboratore diventa il cervello e l’insieme delle rappresentazioni e delle elaborazioni che questo organo sa compiere è la mente.
Si deve precisare che le cellule sanno riprodursi e sostituire in continuazione alcune loro molecole con altre della stessa specie, mentre i computer non sanno [ancora] farlo! Le cellule sanno usare materia, energia e informazione, mentre i computer (per ora) sanno usare solo energia e informazione.
Capitolo-2
Scrittura, numerazione, logica e aritmetica
I sistemi di scrittura sono il risultato di un processo lento e per approssimazioni successive che è durato decine di migliaia di anni. Circa quaranta mila anni fa l’uomo ha cominciato a disegnare figure sulle pareti delle grotte in cui viveva. Questi reperti dimostrano chiaramente che l’uomo andava acquisendo il pensiero simbolico. Tuttavia, un vero sistema di scrittura nasce solo quando si forma un consenso sociale sul significato dei simboli usati; sembra che ciò sia avvenuto per la prima volta presso i Sumeri verso la fine del quarto millennio a.C. con l’utilizzo dei così detti pittogrammi, disegni di figure usati per indicare gli oggetti rappresentati. Con successive modifiche, introdotte dalla necessità di semplificare la rappresentazione delle figure e dagli strumenti usati (bastoncini di canna per incidere la superficie di una tavoletta di argilla), è nata presso i Sumeri la scrittura (pittografia) cuneiforme che, col tempo si è trasformata dai pittogrammi (per rappresentare gli oggetti) ai fonogrammi (per rappresentare le parole) fino a far emergere le lettere dell’alfabeto.
Il saper contare, come il saper scrivere, è certamente una delle più antiche attività simboliche che l’uomo ha dovuto apprendere per misurare la quantità di cibo da raccogliere o per verificare se mancava qualche animale al ritorno dal pascolo. Per svolgere questa attività era sufficiente saper incidere tacche su un bastone e saper associare ogni animale con una tacca.
Con l’evolversi della organizzazione sociale è emersa l’esigenza di tenere traccia di prestiti o debiti. Questo problema è stato risolto inizialmente utilizzando manufatti di argilla aventi la forma dell’oggetto del prestito o debito: tot statuitine per tenere memoria di un prestito di tot animali.
Un passo decisivo è avvenuto con la ideazione di manufatti di argilla non più corrispondenti ai tipi di oggetti da contare, ma associati alla loro quantità: bastoncini per indicare le unità, palline per indicare le decine, biglie per le centinaia e così via. La introduzione di questi manufatti non comporta solo una innovazione tecnologica: con essa nasce infatti il concetto di numero. Ad ogni combinazione di questi manufatti corrisponde un ben determinato numero, indipendentemente dal fatto che si tratti di pecore, otri di vino o recipienti di grano.
Verso la fine del secondo millennio a.C. l’uomo ha a disposizione tutti gli strumenti che permettono la “esplosione della cultura”.
I sistemi di scrittura e di numerazione (con la successiva invenzione di Gutemberg), infatti, non solo permettono l’accumulo di conoscenze, ma incoraggiano la riflessione su contenuti, modi e forme del pensiero e favoriscono la comparsa e la elaborazione di astrazioni. In particolare, come risultato di queste astrazioni si ha la comparsa e lo sviluppo della logica e dell’aritmetica, come discipline che permettono la manipolazione di segni ed idee.
Dalla cultura orale alla cultura scritta
I sistemi di scrittura
I sistemi di scrittura sono il risultato di un processo lento e per approssimazioni successive che è durato decine di migliaia di anni. Fra trenta e quaranta mila anni fa l’uomo ha cominciato a disegnare figure sulle pareti delle grotte in cui viveva. Esistono anche reperti altrettanto antichi di ossa con tacche incise sulla superficie. Non è facile capire perché siano stati prodotti questi manufatti; ma è indubbio che essi sono una prima forma di segni usati per ricordare o comunicare qualcosa.
Nel vicino oriente (Siria, Anatolia e Mesopotamia) sono stati ritrovati manufatti di argilla a forma di cono, disco, bastoncino, sfera; alcuni di questi riportano incisi dei segni quali righe e croci, altri hanno incise delle figure quali teste di animali e recipienti. Questi reperti, risalenti ad un’epoca compresa fra 10.000 e 3000 anni fa, dimostrano chiaramente che l’uomo andava acquisendo il pensiero simbolico.
Un vero sistema di scrittura nasce solo quando si forma un consenso sociale sul significato dei simboli usati; sembra che ciò sia avvenuto per la prima volta presso i Sumeri verso la fine del quarto millennio a.C. con l’utilizzo dei così detti pittogrammi, disegni di figure usati per indicare gli oggetti rappresentati. Il passo decisivo per l’invenzione della scrittura è poi avvenuto all’inizio del terzo millennio quando i simboli usati non rappresentano più direttamente gli oggetti, ma rappresentano il suono (i fonemi) delle parole e quindi riproducono il linguaggio. Contemporaneamente, in Egitto, compare un sistema di scrittura misto (i geroglifici) con il quale vengono riprodotti sia gli oggetti sia i suoni (in analogia a quanto oggi viene usato nei giochi enigmistici dei rebus). Il sistema di scrittura dei sumeri (il cuneiforme) si è diffuso in tutto il medio oriente e, con trasformazioni successive apportate per migliorarne l’uso, si è evoluto nell’alfabeto fenicio e quindi nel greco e nel romano che è oggi usato in tutto il mondo occidentale.
In Cina, invece, si è affermato un sistema di scrittura (gli ideogrammi) più simile ai geroglifici egiziani.
Un vantaggio indubbio dell’alfabeto (rispetto agli ideogrammi) sta nel fatto che con un numero limitato di segni (compreso fra 20 e 30) è praticamente possibile scrivere qualsiasi parola di qualunque lingua; mentre per usare il sistema cinese è necessario conoscere il significato di almeno 2000 ideogrammi. D’altra parte, per le persone che imparano a usare gli ideogrammi (anche se hanno madrelingue diverse) non esiste più il problema della traduzione!
I sistemi di numerazione
I sistemi di numerazione sono nati con la esigenza di tenere memoria di obblighi, promesse o previsioni. La prima astrazione ha comportato l’associazione delle cose oggetto dei conteggi con sassolini di forma diversa per cose diverse: una forma per ogni cosa da conteggiare. Successivamente, sono stati usati recipienti diversi per contenere i sassolini che si riferivano a conteggi di cose diverse. Per facilitare la lettura, sul recipiente veniva riportata una figura che evocava la cosa cui si riferiva il conteggio (il numero di sassolini contenuti nel recipiente).
<spazio per riportare qualche esempio>
Una evoluzione diretta di questo modo di contare ha portato all’uso di simboli diversi per contare cose diverse: i Sumeri, per esempio avevano simboli differenti per contare le porzioni di terra, i prodotti agricoli e gli animali. Ancora oggi, in Giappone, esistono sistemi di numerazione che ricalcano il metodo sumerico (Vedi tavola).
Gli egiziani hanno sperimentato diversi sistemi di numerazione. Uno di questi, che ha lasciato traccia nel nostro sistema di suddivisione del giorno in 24 ore, prevedeva di contare mediante i contatti del pollice con ciascuna delle 3 falangi delle altre 4 dita: 3´4 = 12; usando la mano destra per le ore del giorno e la mano sinistra per le ore della notte, il giorno veniva in questo modo diviso in 24 ore. Gli egizi avevano poi usato qualche trucco per gestire la diversa durata del giorno e della notte conseguente al passare delle stagioni: usavano clessidre diverse nelle diverse stagioni.
Un diverso sistema, utilizzato per rappresentare i numeri in forma scritta, prevedeva modalità diverse per rappresentare le unità (con barre verticali), le decine (con cerchi), le centinaia (con corde arrotolate), le migliaia (con fiori di loto), le decine di migliaia (con dita), le centinaia di migliaia (girini) e i milioni (con figure umane a braccia aperte in posizione di sorpresa).
Concettualmente, questo sistema non era molto diverso da quello usato dai romani e da altri popoli: anche i greci usavano lettere dell’alfabeto per rappresentare i numeri, non avendo simboli specifici per rappresentare le cifre.
<riportare alcuni esempi di numeri rappresentati con diversi sistemi>
Un notevole miglioramento tecnico nella numerazione è stato introdotto dai Babilonesi con l’adozione del sistema numerico posizionale. In questo sistema il valore è rappresentato non solo dal segno utilizzato (la cifra), ma anche dalla posizione del segno: fissata la base della numerazione (per esempio 10), la prima posizione più a destra rappresenta il numero delle unità, quella alla sua sinistra rappresenta le decine, e così via sempre più a sinistra per le centinaia, le migliaia ecc. Il sistema babilonese utilizzava come base della numerazione il numero 60; ancora oggi abbiamo testimonianza di ciò nella suddivisione dell’ora in 60 minuti primi e del minuto primo in 60 secondi. La scelta di questa base è dovuta (probabilmente) al fatto che essa consente facili ed immediate divisioni per 2, 3, 4, 5 e 6 (oltre che per 10, 15, 20 e 30). Esiste testimonianza anche di uso di sottosistemi a base 6 e 10.
Inventato il sistema per scrivere i numeri, si è immediatamente posta l’esigenza di fare i calcoli. È facile constatare quanto sia difficile sommare o moltiplicare numeri romani! Il miglioramento decisivo nel sistema di rappresentare i numeri si è avuto in India con la introduzione dello zero. Questo sistema è stato poi acquisito dagli arabi nel nono secolo e da questi fatto conoscere in Europa; a tal fine, un ruolo determinante è stato svolto da Leonardo da Pisa (Fibonacci) nel tredicesimo secolo che ha anche contribuito alla diffusione delle conseguenti nuove regole per eseguire le operazioni dell’aritmetica. (Vedi nella teca).
Tabella dei nomi per i numeri da 1 a 10.
Num |
Greco |
Latino |
Sanscrito |
Italiano |
Francese |
Tedesco |
Inglese |
Spagnolo |
Giapponese |
1 |
en |
unus |
Eka |
Uno |
Un |
Eines |
One |
Uno |
Ichi |
2 |
Duo |
Duo |
Dva |
Due |
Deux |
Zwei |
Two |
Dos |
Ni |
3 |
Tri |
Tres |
Tri |
Tre |
Trois |
Drei |
Three |
Tres |
San |
4 |
Tetra |
Quatuor |
Catur |
Quattro |
Quatre |
Vier |
Four |
Cuatro |
Shi |
5 |
Pente |
Quinque |
Panca |
Cinque |
Cinq |
Fuenf |
Five |
Cinco |
Go |
6 |
Ex |
Sex |
Sas |
Sei |
Six |
Sechs |
Six |
Seis |
Roku |
7 |
Epta |
Septem |
Septa |
Sette |
Sept |
Sieben |
Seven |
Siete |
Nana |
8 |
Octa |
Octo |
Astra |
Otto |
Huit |
Acht |
Eight |
Ocho |
Hachi |
9 |
Ennea |
Novem |
Nava |
Nove |
Neuf |
Neun |
Nine |
Nueve |
Kyu |
10 |
Deca |
Decem |
Daca |
Dieci |
Dix |
Zehn |
ten |
Diez |
Ju |
Argomentazioni e calcoli: la nascita della filosofia e della matematica
I sistemi di scrittura e di numerazione non solo permettono l’accumulo di conoscenze, ma incoraggiano la riflessione sui contenuti, i modi e le forme del pensiero e favoriscono la comparsa e la elaborazione di astrazioni. Nell’ultima parte del periodo compaiono e si sviluppano la logica e l’aritmetica, come discipline che permettono la manipolazione di segni ed idee.
Intorno al 500 a.c. compare lo studio sulle capacità formali del discorso di convincere e si vengono delineando tre discipline:
- la logica (la capacità di convincere chiunque),
- la retorica (la capacità di convincere certe categorie di persone, come le assemblee o i tribunali) e
- la dialettica (la capacità di convincere un interlocutore).
La prima di queste discipline si evolve, fino al ‘600 come “arte” di produrre argomentazioni valide e cogenti soprattutto per il contributo di Aristotele e poi, nel medioevo, da parte degli scolastici e di Ramon Llull. Alla fine del periodo a Port Royal vengono messe a punto le tecniche di analisi (logica) del discorso (sono le stesse che servono per costruire discorsi corretti).
Più o meno nello stesso periodo di tempo (dal sesto secolo avanti Cristo) si evolve l’aritmetica: con Pitagora inizia la elaborazione dell’idea di numero che (insieme ai concetti di base della geometria) viene fissato in un quadro di cristallina bellezza da Euclide (intorno al 300 a.c.); Archimede e Apollonio (nel 200 a.c.) portano all’apice la matematica greca, che continua, con Erone, Tolomeo e Diofanto a svilupparsi fino alla fine dell’epoca imperiale. Oltre mezzo millennio dopo (intorno al 820) Muhammad al Khwarizmi (iracheno) descrive in arabo le tecniche di calcolo indiane, introducendo in occidente la notazione posizionale e lo zero. Intorno al mille Abu’l Wafa (persiano) commenta i lavori di Euclide, Diofanto e al Khwarizmi, contribuendo alla loro diffusione. Occorre aspettare fino a oltre il 1120 per la traduzione di Euclide e (parte delle opere di) al Khwarizmi dall’arabo in latino fatta da Adelardo da Bath. Nei tre secoli successivi si sviluppa vigorosamente, in Europa, l’aritmetica che culmina nel ‘500 con la soluzione delle equazioni di terzo e quarto grado (Scipione del Ferro e Lodovico Ferrari), la notazione delle frazioni con i decimali (Simon Stevin) e il calcolo letterale (François Viète). Alla fine del periodo, Nepero e Henry Briggs introducono i logaritmi: ciò aumenta grandemente la capacità di fare operazioni complesse (moltiplicazioni e divisioni con parecchie cifre necessarie per i calcoli in astronomia e navigazione).
Raffaello. La Scuola d’Atene
Raimondo Lullo. Il disco per ragionare
La nascita della scienza moderna
L’ottimismo. Nel diciassettesimo secolo si pongono le basi della matematica moderna, sul successo della quale compare e si sviluppa l’idea che anche la logica e con essa le “leggi” del pensiero possano essere rese formali e rigorose. Comparsa con il calculus ratiocinator di Gottfried Leibniz, questa idea viene portata a un primo risultato da Gorge Boole: il suo sistema (detto, appunto, algebra di Boole) mostra come la deduzione possa essere trattata con regole simili a quelle ordinarie dell’algebra. Successivamente, Gottlob Frege realizza il sogno di Leibniz introducendo un linguaggio artificiale (il primo!) dotato di regole precise sia per formare le frasi del linguaggio sia per dedurre (altre frasi corrette); verso la fine dell’ottocento Frege inizia l’impresa di riscrivere la matematica con il nuovo linguaggio.
La crisi. Nel 1901 Bertrand Russell scopre un paradosso che coinvolge il concetto di “insieme” (riflettendo sulle tematiche introdotte da George Cantor che negli ultimi 30 anni dell’ottocento aveva elaborato una teoria degli insiemi non finiti). L’anno seguente, Russell espone in una lettera il paradosso a Frege; questi riconosce che il paradosso mette in pericolo la coerenza dei suoi “Principi fondamentali dell’aritmetica” (di cui sta per uscire il secondo volume).
La riflessione successiva mostra come evitare il paradosso e, alla fine del primo terzo del secolo, David Hilbert enuncia esplicitamente due problemi dei fondamenti della matematica: dimostrare in linea di principio che ogni proposizione, costruita correttamente, è o vera (deducibile) o falsa (non deducibile) e trovare il metodo costruttivo (o algoritmo) per deciderlo effettivamente.
Nel 1931 Kurt Gödel risponde negativamente al primo problema, ponendo dei limiti alla completezza e coerenza dei sistemi formali. Nel 1936 Alan Turing risponde negativamente anche al secondo, introducendo il concetto di “macchina di Turing” aprendo la strada alla realizzazione del computer (cioè di una macchina che può realizzare “qualunque” algoritmo).
Le macchine. Fin dal ‘600 erano state costruite macchine per il calcolo (numerico): segnatamente da Pascal e Leibniz, ma è solo con la rivoluzione industriale che compaiono le “vere” macchine per scrivere e, successivamente, per far di conto. Alla fine dell’ottocento si sviluppa l’elettromeccanica con Hollerit e si costruiscono le calcolatrici da tavolo. La comparsa del computer (elettronico, a programma memorizzabile e di uso generale) verso la fine della seconda guerra mondiale è resa possibile da Claude Shannon che mostra come l’algebra di Boole può essere realizzata con relays elettromeccanici (poi circuiti elettronici a due stati) e da John Von Neumann (già allievo di Hilbert e conoscitore dei lavori di Gödel e Turing) che nel 1945 elabora la cosiddetta architettura di Von Neumann, che descrive un computer in termini di tre componenti: la CPU, la memoria centrale, che contiene il programma e i dati (iniziali, intermedi e finali) e le memorie esterne. Con questa architettura nasce l’Informatica dall’incontro fra risultati concettuali della logica e dalla matematica e risorse e problemi posti dal conflitto mondiale.
La nascita delle idee
Presentazione del periodo
In questo periodo emerge (ufficialmente) la informatica come disciplina dalla confluenza di due filoni di attività:
- il primo è nell’ambito della filosofia, della matematica e della logica;
- il secondo è nell’ambito dell’ingegneria: prima meccanica, poi elettromeccanica ed infine elettronica.
La sintesi avviene con la messa a punto di
- un manufatto (il “computer universale”),
- strumenti (i linguaggi di programmazione) e
- metodi (gli algoritmi e la programmazione).
Durante tutto il periodo le attività rilevanti sono essenzialmente di ricerca (tranne quelle inserite nello sforzo bellico inglese per la seconda guerra mondiale).
L’ottimismo
Nel diciassettesimo secolo si pongono le basi della matematica moderna: Isaac Newton “inventò” e perfezionò il calcolo infinitesimale negli anni tra il 1665 e il 1670: una decina di anni dopo (tra il 1675 e il 1680) Gottfried Leibniz lo riscoprì e mise a punto una notazione diversa da quella di Newton (è essenzialmente quella usata oggi), più flessibile e più potente perché permette di applicare il calcolo evitando lunghi e complessi ragionamenti. Nello stesso periodo, sul successo della sua notazione, riprendendo ricerche giovanili (Dissertatio de arte combinatoria), Leibniz pubblica (nel 1679) una serie di scritti che argomentano sulla (lingua) characteristica universalis e sul calculus ratiocinator: la characteristica universalis è un sistema di segni con cui esprimere formalmente il (contenuto del) pensiero, e il calculus ratiocinator è un metodo per manipolarli e costruire i ragionamenti corretti; l’obbiettivo di questi scritti era di fissare le regole per le argomentazioni, in modo da eliminare le infinite discussioni (tra i filosofi): con questo metodo, stese le premesse, doveva essere automatico enumerare (tutte) le conclusioni corrette. Leibniz fece poco per definire la lingua e lavorò solo su qualche esempio del calcolo: comunque nasce con lui l’idea che si possono fare calcoli non solo con i numeri, ma anche con altri simboli e quindi la logica tradizionale (aristotelica) può essere inglobata in un sistema più ampio. Sostanzialmente, però, queste idee passano inosservate.
Verso la metà del diciannovesimo secolo Gorge Boole (nel 1847 e nel 1854) pubblica un sistema formale (detto poi algebra di Boole) che include alcune regole di deduzione, in particolare tutte quelle di Aristotile: per quanto parziale (per esempio si poteva esprimere la negazione e la congiunzione, ma non l’alternativa) il suo sistema mostra come la deduzione possa essere trattata come la “matematica” (cioè con regole rigorose, simili a quelle ordinarie dell’algebra).
Alla fine del secolo viene fatto il passo successivo più importante: nel 1879 Gottlob Frege pubblica “Ideografia; linguaggio informule del pensiero puro modellato su quello dell’aritmetica” che realizza “quasi” le idee di Leibniz: nasce un linguaggio artificiale (il primo!) dotato di regole (formali) precise sia per formare le frasi del linguaggio sia per usarle al fine di dedurre (altre frasi corrette); manca “solo” un particolare: se da certe premesse non era possibile trarre una certa conclusione non c’era modo, nella teoria, di capire se non era stata applicata la “giusta” sequenza di regole o se non erano “giuste” le premesse. Frege procede, successivamente, con l’obbiettivo di (ri)scrivere la matematica nel linguaggio e con i metodi da lui introdotti e nel 1893 pubblica il primo dei due volumi sui “Principi fondamentali dell’aritmetica” (il secondo nel 1903).
Col finire del diciannovesimo secolo si chiude una storia di circa 150 anni dalla quale sembra che sia possibile:
- definire un linguaggio formale capace di parlare di (quasi) qualunque cosa;
- definire in maniera rigorosa il ragionamento corretto;
riscrivere nel nuovo linguaggio tutte le proposizioni corrette di un certo ambito
I PROBLEMI
La crisi
Nel 1901 Bertrand Russell scopre un paradosso che coinvolge il concetto ingenuo di “insieme” (riflettendo sulle tematiche introdotte da George Cantor che negli ultimi 30 anni dell’ottocento aveva elaborato una teoria degli insiemi non finiti e introdotto una tecnica detta metodo diagonale).
L’anno seguente (1902) Russell espone in una lettera a Frege un paradosso sugli insiemi che contengono se stessi (Vedi paradosso di Russell in approfondimenti); questi riconosce che il paradosso mette in pericolo la coerenza dei suoi “Principi fondamentali dell’aritmetica” (di cui sta per uscire il secondo volume).
La riflessione successiva mostra come evitare il paradosso: lo stesso Russell con Alfred Whitehead pubblica “Principia Matematica” (1910-1913) mostrando che la formalizzazione completa della matematica era realizzabile; tuttavia si poneva un problema assai concreto: come evitare “tutti” i paradossi ed essere sicuri della coerenza di un sistema formale? (cioè che non si potesse con le regole del sistema trarre dalle stesse premesse una conclusione e il suo contrario).
Nel 1928 Hilbert pone esplicitamente due problemi per un sistema formale (in realtà enunciati per la cosiddetta aritmetica di Peano, un sistema che definisce i numeri interi e le operazioni tra questi):
- problema della completezza (delle regole di deduzione), cioè dimostrare che ogni proposizione (costruibile correttamente) è o vera (deducibile) o falsa (non deducibile).
- problema della decisione, cioè trovare il metodo costruttivo (o algoritmo) per decidere (effettivamente) se ogni proposizione (costruibile correttamente) è vera o falsa.
La soluzione (parziale)
Nel 1931 Gödel pubblica uno straordinario articolo “Su alcune proposizioni formalmente indecidibili dei Principia mathematica”: tramite un ragionamento ispirato al metodo diagonale di Cantor, pone dei limiti alla completezza e coerenza dei sistemi formali.
L’altro problema di Hilbert, quello della decisione, viene affrontato da Alan Turing (nel 1936) che parte dando una definizione rigorosa di algoritmo (astraendola dal comportamento di una persona che fa di conto): un algoritmo è tutto (e solo) quello che può fare (in modo esplicito e non ambiguo) una “macchina” astratta detta appunto di Turing. (Vedi approfondimento).
Turing, con un ragionamento essenzialmente analogo (ancora!) al metodo diagonale di Cantor mostra che il problema della decisione non può avere soluzione in un caso “particolarmente” semplice (quello di “riconoscere” un certo insieme di numeri naturali).
Naturalmente il risultato si basava appunto sulla definizione data di algoritmo; nel cercare di renderla più plausibile, Turing costruisce la “macchina universale” cioè quella (con un certo insieme di stati e regole) capace di realizzare “ogni” algoritmo: l’idea di base è di codificare stati e regole di una particolare macchina di Turing e scriverle sul nastro insieme con i dati di partenza; una stessa macchina, con un particolare (ma fisso) insieme di stati e regole può (simulare quella macchina e quindi) realizzare qualunque algoritmo.
È quindi nata l’idea di linguaggio di programmazione e di programma memorizzato (cadendo la distinzione tra dati e programma) e si è aperta la strada alla realizzazione del computer (cioè di una macchina che può realizzare “qualunque” algoritmo).
Le macchine
La meccanica (e l’elettromeccanica)
In questo periodo (segnato dalla rivoluzione industriale) la capacità di costruire macchine aumenta enormemente; per il calcolo si va dai bastoncini di Nepero (non un vero meccanismo in realtà: si evolveranno nei regoli) alla diffusione delle calcolatrici meccaniche nei primi anni ’40 del 1900. I passi principali sono i seguenti.
- Nepero (agli inizi del ‘600) introduce i “bastoncini” con tacche logaritmiche per fare le moltiplicazioni (e divisioni).
- Wilhelm Schickard (1623) realizza una macchina a ruote dentate per fare le somme, citata da Keplero.
- Pascal (intorno al 1642) progetta una macchina a ruote dentate (sfruttando la tecnologia messa a punto per gli orologi) che fa somme e sottrazioni; l’dea di fondo è di realizzare il riporto: ogni ruota (che può ruotare assumendo 10 posizioni) rappresenta i valori di una cifra decimale e quando compie un giro completo fa fare uno scatto a quella che le sta a sinistra.
- Leibniz (intorno al 1673) aggiunge anche le moltiplicazioni ottenute sommando il moltiplicando con se stesso il numero di volte espresso dal moltiplicatore (mediante un “tamburo” a gradini o ruota di Leibniz); è il primo esempio di macchina calcolatrice che ha bisogno di “forza motrice” per fare il calcolo (nelle precedenti il calcolo veniva eseguito durante l’impostazione degli operandi).
- Nel ‘700 vengono costruiti parecchi meccanismi (sempre con le tecnologie dell’orologio): tra questi si può citare quello costruito da Giovanni Poleni per operare su numeri di tre cifre.
- All’inizio dell’ottocento (1802) ad opera di Joseph Marie Jacquard (a Lione) viene introdotto il telaio meccanico che costituisce una fondamentale innovazione: si fornisce forza motrice e si ottengono vari tipi di lavoro (seguendo la descrizione contenuta in schede perforate). (Vedi approfondimento).
- Thomas de Colmar (1820) costruisce l’aritmometro (la prima calcolatrice commercializzata, venduta in più di 1500 esemplari in trent’anni) in grado di eseguire le quattro operazioni, con risultati fino a 12 cifre.
- Babbage nel 1822 pubblica la descrizione di una prima macchina (Difference Engine) che fa le quattro operazioni e calcola funzioni polinomiali e nel 1834 descrive una seconda macchina (Analytical Engine) che viene discussa compiutamente da Luigi Federico Menabrea nel 1842; l’anno successivo Ada Lovelace traduce in inglese il testo di Menabrea con profondi commenti di carattere matematico. (Vedi approfondimento).
- Christopher Latham Sholes e Carlos Glidden nel 1867 costruiscono la prima macchina da scrivere (commerciale) lanciata con il marchio Remington (costruttore di fucili e macchine da cucire)
- Hermann Hollerith idea una delle prime macchine elettromeccaniche (a schede perforate) che vince la gara per elaborare i risultati del censimento USA del 1890 (le varie componenti furono costruite da diverse industrie). I primi dati arrivarono in settembre e il primo conteggio fu pronto il 12 dicembre (circa tre mesi invece dei previsti due anni: la popolazione risultò essere 62,622,250). Dalle invenzioni di Hollerit nasce la IBM che negli anni ‘30 (del 1900) commercializza parecchi modelli di macchine per il calcolo elettromeccaniche a schede.
- Zuse, nel 1941, costruisce lo Z3 il primo calcolatore digitale elettromeccanico programmabile funzionante (dopo aver brevettato alcune idee nel 1936): usa il sistema binario e può elaborare numeri in virgola mobile; utilizza circa 2600 relays, 600 per la CPU, 600 per il sistema operativo e i rimanenti per la memoria (ma non aveva il programma memorizzato).
La teoria
Prima della definitiva innovazione, con l’introduzione dell’elettronica, occorrono ancora due passi concettuali:
- Shannon nel 1937 mostra che l’algebre di Boole può essere realizzata con circuiti relays elettromeccanici (poi elettronici) a due stati; da questo momento (tranne alcune eccezioni all’inizio) i calcolatori automatici adottano il sistema di numerazione binario, con due cifre tradizionalmente indicate con “0” e “1”.
- Von Neumann (che aveva partecipato agli studi di Hilbert, di cui era allievo e interagito con Gödel e Turing) nel 1945 elabora la cosiddetta architettura di Von Neumann, che descrive un computer in termini di memoria centrale, che contiene i dati (iniziali, intermedi e finali) e programma, la CPU e le memorie esterne. (Vedi approfondimento).
L’elettronica
Comincia negli ultimi anni di questo periodo la progettazione e la costruzione dei primi computer elettronici: compaiono essenzialmente cinque macchine degne di nota.
- ABC: Atanasoff e Berry mettono a punto il primo computer iniziato nel 1937 finito nel 1942; era elettronico (a valvole, naturalmente), ma non era programmabile, usava un certo grado di parallelismo ed era orientato a risolvere i problemi di algebra lineare.
- Colossus: Turing partecipa alla ideazione; è operativo nel 1943 (non è general purpose: serve per decifrare i codici tedeschi) impiega 1500 valvole, ma anche una sostanziale componente elettromeccanica.
- Eniac (Electronic Numerical Integrator And Computer) (progettato, costruito e funzionante nel 1945) commissionato per eseguire calcoli per il progetto Manhattan, tabelle di puntamento dei cannoni e altri problemi numerici; il suo più grande pregio fu di dimostrare che 18000 valvole potevano funzionare (senza bruciare) per un tempo sufficiente a fare del lavoro utile; era programmabile con pannelli di controllo a fili simili ai centralini telefonici (di allora) e impiegava l’aritmetica decimale. Tra i progettisti H. Goldstine, J. Eckert, J. Mauchly
- Edvac (Electronic Discrete VAriable Calculator), descritto in un rapporto di Von Neumann nel 1945. Impiegava (appunto) l’architettura di Von Neumann, fu terminato nel 1949 e fu operativo dal 1951 fino al 1961. Tra i “progettisti” J. Eckert e J. Von Neumann
- Ace (Automatic Computing Engine), descritto da Turing nel 1945, fu costruito dal National Phisical Laboratori a Londra e divenne operativo nel 1950.
I computer (elettronici) di questo periodo furono essenzialmente usati per scopi scientifici o bellici, con un impatto quasi nullo sul mercato.
La prima diffusione del computer
Nata concettualmente prima del 1945, l’informatica si sviluppa poi come fenomeno tecnologico, scientifico ed economico; dal 1945 al 1979 il suo sviluppo è caratterizzato dall’ambiente in cui si diffonde e può essere descritto dai classici tre punti di vista: l’hardware, il software e le applicazioni (e il loro impatto socioeconomico). In questo periodo l’Informatica si orienta alle esigenze di elaborazione e comunicazione delle grandi organizzazioni.
Hardware.
All’inizio del periodo si colloca una fase “preindustriale” in cui si mettono a punto computer essenzialmente pensati durante la seconda guerra mondiale. Successivamente si possono individuare “generazioni” caratterizzate dalla tecnologia dominante. Nelle prime tre generazioni (caratterizzate da valvole, transistor e circuiti integrati) esistono essenzialmente macchine grandi e costose (i così detti mainframe); nella quarta (caratterizzata da microprocessori) si affermano anche quelli che, per contrasto, saranno chiamati minicomputer e compaiono i primi prototipi di personal computer.
Software.
La storia della logica ,come proprietà formale del linguaggio scritto, inizia un percorso che, dall’inizio dell’ottocento, si conclude verso la metà del novecento con la comparsa di una grande innovazione: i linguaggi di programmazione; questi, pur essendo legati indissolubilmente alla nascita e all’evoluzione del computer, hanno in realtà una profonda autonomia. Per indicare tutte le problematiche e i prodotti relativi si usa la parola software, coniata in opposizione (ed analogia) ad hardware. Con questi linguaggi, compaiono subito due classi di esigenze: i) risolvere un problema specifico con un computer (software applicativo); ii) usare in maniera efficiente le risorse di un computer (software di base).
Applicazioni.
Nato sotto la spinta di esigenze scientifiche e militari, il computer si diffonde rapidamente nelle (grandi) organizzazioni pubbliche e private. Già in questo primo periodo l’informatica è il motore dell’economia mondiale: il sistema bancario e la finanza, i trasporti aerei e l’automazione dei grossi impianti industriali sono solo tre esempi di aree la cui espansione è stata condizionata e favorita dall’informatica. Nel 1956 viene coniato il termine “intelligenza artificiale” e sono presentati programmi che dimostrano teoremi e sanno giocare a scacchi. Agli inizi degli anni ‘60 viene introdotta la codifica ASCII che rende possibile lo scambio di informazioni tra computer diversi.
Alla fine degli anni settanta compaiono prodotti e applicazioni che daranno all’Informatica una ulteriore spinta propulsiva: il tabellone elettronico, l’editore di testi, i virus e i giochi. Inoltre, inizia la diffusione dei terminali composti da tastiera e da un video a caratteri (di dimensione fissa), senza capacità grafiche e i giochi sono utilizzati su uno schermo di televisore.
Alla fine del periodo (1979) viene introdotta la prima stampante laser collegata a un computer: stampava fino a 20000 linee al minuto, impiegava moduli continui e occupava una intera stanza.
(HARDWARE)
Presentazione del periodo
Nata nel periodo precedente, l’informatica si sviluppa fino ai nostri giorni come fenomeno tecnologico, scientifico, economico; si possono distinguere tre fasi caratterizzate dall’ambiente in cui si diffonde, delle informazioni che vengono trattate, del prodotto più diffuso. I particolare:
- dal 1945 al 1979: le (grandi) organizzazioni, i dati aziendali, il mainframe;
- dal 1979 al 1994: le persone, le informazioni necessarie al lavoro individuale, il personal computer;
- dal 1994 ad oggi: la comunicazione, la conoscenza disaggregata, Internet.
Il primo di questi periodi può essere descritto dai classici tre punti di vista: l’hardware (i prodotti tecnologici disponibile), il software (gli strumenti e i metodi per usarli) e le applicazioni (e il loro impatto socioeconomico).
L’hardware
All’inizio del periodo si colloca una fase “preindustriale” in cui si mettono a punto computer di varia struttura e disegno concettuale, essenzialmente pensati nel periodo precedente; compaiono ENIAC e EDVAC all’università di Pensilvania, e EDSAC all’università di Cambridge (in Inghilterra).
Successivamente il periodo si può dividere in “generazioni” caratterizzate dalla tecnologia dominante. Nelle prime tre generazioni esistono essenzialmente macchine grandi e costose che saranno chiamati mainframe; nell’ultima compaiono anche quelli che, per contrasto, saranno chiamati minicomputer.
I generazione(1951-1959): sono costruiti con valvole, le memorie interne sono di vario tipo, le periferiche sono lente (anche se vengono sviluppati in questo periodo le stampanti veloci e i nastri magnetici). Il primo computer disponibile sul mercato è l’UNIVAC I, costruito in meno di cinquanta esemplari; un altro esempio tipico è costituito dall’IBM 650.
II generazione (1959- 1965): sono costruiti con transistor, hanno la memoria a nuclei di ferrite e periferiche veloci; si diffondono i nastri magnetici; cominciano a comparire i supporti magnetici ad accesso diretto. Viene ideata la memoria virtuale.
III generazione (1965-1971): sono costruiti con circuiti integrati; compaiono le prime memorie su chip; le periferiche sono veloci; si diffonde l’uso dei terminali; le memorie esterne sono “smontabili”; si fa ampio uso della microprogrammazione. La IBM introduce la “serie 360” che fissa una serie di standard tecnici e concettuali ancor oggi esistenti (per esempio; il Byte di 8 bit come rappresentante di un carattere o la compatibilità dei vari modelli); diventano così omogenei ed uniformi i piccoli elaboratori per applicazioni gestionali e quelli grandi per applicazioni scientifiche.
Compaiono computer di dimensioni più modeste
IV generazione (1971-1979): sono costruiti con microprocessori; le memorie interne sono solo su chip; i nastri diventano marginali; compaiono le prime stampanti laser; si sviluppano i terminali che acquistano via via più “intelligenza” (sono costituiti da un video, una tastiera e da elettronica di collegamento, cui si può aggiungere una stampante meccanica); compaiono le reti di computer (anche decine) cui sono connessi (anche decine di) migliaio di terminali. La IBM introduce la “serie 370” evoluzione della precedente (ha standard la memoria virtuale);
I mainframe dell’ultima generazione subiscono, nella parte alta della gamma, la competizione dei supercomputer (che sono specializzati nel calcolo scientifico, come per esempio il Cray-1) e nella parte bassa, la competizione dei minicomputer (detti anche semplicemente “mini”)che sono macchine general purpose con basso costo, ma con buone prestazioni (per esempio la DEC introduce all’inizio degli anni ‘70 il PDP-11 e verso la fine il Vax).
Apple, Commodore e Tandy cominciano a commercializzare personal computer costruiti attorno a un singolo microprocessore alloggiato in un terminale (un video e una tastiera).
Periodo 1945 – 1979 (IL GRANDE SVILUPPO)
(SOFTWARE)
Dopo un lungo percorso che vede lo sviluppo della matematica e la comparsa delle scienze della natura (fisica, chimica, biologia, medicina) la logica si caratterizza sempre più come proprietà formale (cioè del linguaggio scritto!); con la crisi della fine dell’ottocento (descritta nella sezione precedente) inizia un percorso che si conclude verso la metà del novecento con la comparsa di una grande innovazione: i linguaggi di programmazione; pur essendo legati indissolubilmente alla nascita e all’evoluzione del computer, hanno in realtà una profonda autonomia: per indicare tutte le problematiche e i prodotti relativi si usa la parola software, coniata in opposizione (ed analogia) ad hardware.
Compaiono subito due ordini di problemi:
- come risolvere un problema specifico con un computer: software applicativo;
- come usare in maniera efficiente le risorse di un computer (nella soluzione di problemi): software di base.
IL SOFTWARE DI BASE
Nell’uso dei computer (a programma memorizzato) occorreva introdurre programma e dati nella memoria: all’inizio lo si faceva attraverso la console, una apparecchiatura che mostrava il contenuto (in forma binaria) di ogni cella di memoria e permetteva di variarlo; era un processo lungo, soggetto ad errori e occupava la maggior parte del tempo di funzionamento del computer, impedendogli di svolgere il “suo” lavoro da elaboratore; inoltre era laborioso ottenere i risultati (che rimanevano nella memoria e dovevano essere “letti” attraverso la console. Furono intraprese due strade (parallele):
- una consisteva nel progettare un programma (sempre residente in memoria) con lo scopo di acquisire in maniera rapida i programmi e i dati che risolvevano i problemi e di rendere facilmente disponibile i dati all’esterno;
- l’altra nel progettare linguaggi che permettessero di descrivere “facilmente” il procedimento per la soluzione dei problemi e fossero “facilmente” trasformabili nella forma che doveva essere trasferita nella memoria del computer.
La prima strada ha dato origine ai sistemi operativi, la seconda ai linguaggi “assemblatori” (e ai compilatori).
Sistemi operativi
Il primo compito dei sistemi operativi è stato quello di permettere ai computer di risolvere un problema e di mettere i risultati a disposizione senza “perdere tempo” nel passaggio da un problema a un altro: quello che a posteriori è stata chiamata “monoprogrammazione”.
Con l’aumentare della difficoltà e della dimensione dei problemi da risolvere non era più possibile che i dati (e i risultati) fossero tutti (contemporaneamente) nella memoria (del computer): occorreva acquisirli da una memoria esterna; il secondo compito dei sistemi operativi fu quello di “assistere” i programmi a fare questo scambio (traducendo i dati dalla rappresentazione esterna a quella “interna” e impedendo al programma di dover conoscere i dettagli del funzionamento del supporto esterno): era nato il cosiddetto file system (che risolve anche il problema della visualizzazione dei risultati, trattando le stampanti in maniera “uniforme” alle memorie esterne).
Già verso il finire della seconda generazione, però, con l’aumento della velocità di elaborazione, si poneva di nuovo lo stesso problema: il computer era inattivo per lunghi periodi di tempo poiché la velocità di scambio dei dati con la memoria esterna era incomparabilmente più lento della capacità di elaborazione; nasce così la “multiprogrammazione”, cioè sistemi operativi che sanno gestire più programmi in memoria, facendo eseguirne uno mentre per gli altri si stanno scambiando i dati con l’esterno. Nasce e si affina così il concetto di task (compito) e multitasking cioè la capacità di eseguire più task (dando l’impressione che siano eseguiti contemporaneamente). Compaiono in rapida successione il time sharing (a ogni programma viene garantito una certa percentuale dell’unità di tempo in cui può essere eseguito) e il real time (certi programmi predeterminati sono eseguiti ogni volta che si verifica un certo evento, in modo da “reagire” appropriatamente agli stimoli esterni).
La caratteristica, però, che ebbe più impatto sul mercato (e sulle applicazioni riguardanti i sistemi informativi) fu la diffusione dei (sotto)sistemi transazionali che permettono a una comunità di utenti di utilizzare e modificare in maniera prestabilita una vasta quantità di informazioni; dal punto di vista tecnico erano una combinazione (attenuata) delle due caratteristiche appena viste.
La maggior parte di questi concetti fu messa a punto in due sistemi operativi che non ebbero rilevanza commerciale: Multics (iniziato al MIT nel 1964 e terminato alla fine degli anni ’70) e THE (messo a punto a Eindhoven, Olanda, nel 1968).
Alla fine degli anni ’60 iniziò, per reazione alla complessità di Multics, l’elaborazione di Unix, destinato ad essere l’esemplare più famoso e longevo di sistema operativo.
Agli inizi degli anni ’60 comparve la memoria virtuale: il concetto è quello di avere una memoria illimitata, che solo all’occorrenza viene “realizzata” (dal sistema operativo) nella memoria realmente esistente del computer; viene sfruttato in sistemi commerciali dalla IBM e diventa uno standard dalla quarta generazione.
Si sviluppa il software per gestire le telecomunicazioni: sia il colloquio tra diversi mainframe sia tra uno di questi e i terminali. Si diffondono varie convenzioni: nel 1974 viene ideato TCP che nel 1978 diventa TCP/IP e verso la fine del periodo diventa uno standard adottato da ARPA.
Assemblatori
Ogni (tipo di ) computer (hardware) ha le sue regole con cui deve essere preparata la successione di operazioni e dati che costituiscono il programma che può eseguire: tali regole sono genericamente chiamate “linguaggio (della) macchina”. Un passo fondamentale fu l’idea di scrivere (nel modo appena detto) per ogni (tipo) di computer un solo (!) programma, detto assemblatore, che leggesse dei dati, li trasformasse opportunamente e li lasciasse nella memoria, in modo da essere interpretati come programma. Naturalmente i “dati” che l’assemblatore leggeva avevano una struttura tale da essere “facilmente” preparati da un operatore umano (per risolvere un problema), ma anche da essere facilmente tradotti nel programma eseguibile (da parte del computer). Questi linguaggi simbolici per descrivere la soluzione dei problemi sono detti assembler.
Gli assembler, per quanto più semplici da usare rispetto al linguaggio della macchina, già dall’inizio avevano due difetti (resi più gravi con l’aumentare del numero e della complessità dei problemi che hardware sempre più potenti permettevano di risolvere):
- richiedevano comunque una approfondita conoscenza della particolare macchina su cui il problema veniva risolto,
- non erano trasportabili da un computer ad un altro.
IL SOFTWARE APPLICATIVO
Linguaggi di programmazione e compilatori
I linguaggi di programmazione, cioè i modi di descrivere la soluzione dei problemi, si evolvono in questo periodo essenzialmente per rendere agevole la soluzione di classi problemi, cioè in vista della efficienza del processo intellettuale di soluzione di un problema (la stesura del programma, appunto) a scapito della soluzione effettiva (l’esecuzione del programma); a metà degli anni ’50 compare, ad opera di John Backus il Fortran (FORmula TRANslation) orientato alle applicazioni scientifiche e alla fine del decennio, sotto la spinta del Pentagono, il Cobol (COmmon Business Oriented Language) per le applicazioni gestionali (fino a verso il 2000 è il linguaggio più usato). Contemporaneamente nasce la riflessione e lo studio teorico sui linguaggi (la loro sintassi e semantica) che culmina nella messa a punto dell’Algol (ALGOrithmic Language) tra il ‘58 e il ‘60.
Dopo circa un decennio compaiono altri due linguaggi destinati ad avere una grande diffusione: il C, una sorta di linguaggio assembler che fa riferimento a una macchina ideale (quindi svincolato dal particolare hardware) e il Pascal (da parte di Niklaus Wirth) che è una semplificazione estremamente efficace e duttile dell’Agol.
Nel frattempo si approfondisce la riflessione sui linguaggi: vengono individuati i “paradigmi di programmazione”, cioè le maniere “essenzialmente differenti” di descrivere la soluzione dei problemi. Tutti i linguaggi finora elencati vengono riconosciuti come una estensione del linguaggio macchina e battezzati “imperativi” o “procedurali”; si delineano altri tre paradigmi: funzionale, riconosciuto in un linguaggio apparso alla fine degli anni ’50 il Lisp (LISt Processing ad opera di John McCarty)), ad oggetti (Simula negli anni ’60 e Smalltalk negli anni ’70) e logico o dichiarativo (Prolog, PROgrammation en LOGique messo a punto da Alan Colmerauer e Robert Kowalski agli inizi degli anni ‘70).
La risoluzione dei problemi descritta in linguaggi di programmazione
Agli inizi la programmazione era considerata un compito altamente specializzato che richiedeva conoscenze sia dell’hardware sia dei problemi da risolvere; con il diffondersi, negli anni ’60, dei linguaggi di programmazione (imperativi) l’attenzione si concentrò, per i problemi scientifici, sulla conoscenza specifica: si viene a identificare cosi lo studio degli algoritmi (che si occupa delle procedure di carattere generale non numeriche) e quello della complessità (che si occupa del numero di “operazioni” intrinsecamente necessarie la soluzione di un problema). D’altra parte la enorme diffusione di applicazioni non scientifiche, segnata dallo sviluppo del COBOL e dalla costruzione di computer sempre più potenti, richiede un grande numero di programmatori le cui competenze sembrano limitarsi alla conoscenza del linguaggio (essendo semplici quelle dei problemi).
Alla fine degli anni ‘60 comincia ad essere evidente la incongruenza, da una parte, tra la stabile crescita della potenza delle macchine e del numero dei programmatori e, dall’altra, la incapacità di risolvere, in tempi, costi e qualità prevedibili il gran numero di problemi, apparentemente semplici, posti dai sistemi informativi. È la cosiddetta crisi del software, che si “risolve” dopo un lungo percorso di oltre un decennio, con l’affermarsi della programmazione come disciplina autonoma insegnabile (e distinta dalla teoria degli algoritmi e dalla conoscenza dei linguaggi). Un ruolo di rilievo viene svolto da Edsger Dijkstra e Michael Jackson che, nel corso degli anni ’70, fissano le regole della cosiddetta “programmazione strutturata” cioè il modo “corretto” e (in qualche modo) riproducibile di usare i linguaggi procedurali: da questo riceve grande impulso la diffusione delle applicazioni.
I dati
Le applicazioni della informatica abbracciano, in questo periodo, uno spettro vastissimo della “elaborazione di dati”: da quelle prevalentemente scientifiche in cui l’accento è (inizialmente !) sulla elaborazione (studio degli algoritmi e della complessità) a quelle di tipo gestionale in cui l’accento è su(lla grande quantità d)i dati. Per fronteggiare questi ultimi problemi (in un periodo sostanzialmente contemporanea alla crisi del software e alla sua soluzione) è sempre più sentita la necessità, detta astrazione (dei dati), della separazione tra la descrizione dei dati (inerente ai problemi) e i particolari della loro registrazione sui supporti di memori esterni (inerente alla tecnologia hardware). Si afferma, verso la fine degli anni ’70, il concetto di data base, come contenitore in cui esistono separatamente i dati e la descrizione dello loro struttura.
Si delineano tre modelli di data base: gerarchico (molto usato fino alla fine degli anni ’80), reticolare (mai veramente implementato) e relazionale (ideato da Edgar Codd nel 1970 e implementato solo verso la fine del periodo e, comunque, in maniera sempre poco fedele alla definizione originale).
Periodo 1945 – 1979 (IL GRANDE SVILUPPO)
III CARTELLONE (APPLICAZIONI)
GLI ARGOMENTI
Nato sotto la spinta di applicazioni scientifiche e militari, il computer si diffonde rapidamente nelle (grandi) organizzazioni pubbliche e private.
Già in questo primo periodo l’informatica è il motore dell’economia mondiale: il sistema bancario e la finanza, i trasporti aerei e l’automazione dei grossi impianti produttivi sono solo tre esempi di aree la cui espansione è stata causata dall’informatica.
Un primo clamoroso episodio si ha nel 1952: nelle elezioni americane un computer UNIVAC elabora i primi dati e “prevede”, contro l’opinione comune, la elezione di Eisenhower
Nel 1955 gli utenti dei computer erano abbastanza numerosi da fondare due associazioni (rispettivamente per gli utenti UNIVAC e IBM) per influenzare le aziende costruttrici.
Nel 1955 viene messo in funzione il primo sistema bancario (detto ERMA, da parte della GE per la Bank of America) per elaborare automaticamente gli assegni, aprendo così la strada alla loro diffusione.
Nel 1956, al Dartmouth college nel New Hampshire, viene coniato il termine “intelligenza artificiale” e viene presentato Logic Teorist (da parte di Allen Newell, J.C. Shaw and Herbert Simon: dimostra i teoremi del secondo capitolo dei Principia Matematica) e successivamente, alla fine degli anni ’50, compare il primo programma “serio” per giocare a scacchi (di A. Samuel della IBM).
Agli inizi degli anni ‘60 viene messo a punto la codifica ASCII che rende possibile lo scambio di informazioni tra computer diversi.
Nel 1963, sulla base di una idea di Turing, Joseph Weizenbaum al MIT sviluppa il programma Eliza che sembra possedere intelligenza nel sostenere un dialogo (fingendo di essere uno psicologo).
Nel 1964 Douglas Engelbart mette a punto (allo SRI, Standford research Institute) il primo esempio di mouse in un programma di studi iniziato nel 1959 in cui compare il concetto di ipertesto; verso la fine dell’anno entra in funzione SABRE, un sistema per la prenotazione dei biglietti aerei per l’American Airlines costruito dalla IBM: al momento è la più grande rete di calcolo non militare (2000 terminali in 65 città); era stata preceduta da quella (molto più modesta) della Trans-Canada Airlines e sarà seguita da molte altre che renderanno possibile la diffusione dei viaggi aerei.
Nel 1965 compare Dendral (E. Feigenbaum ed altri), il capostipite di quelle applicazioni che saranno chiamate “sistemi esperti”; ricostruisce la conformazione geometrica di molecole.
Verso la fine del decennio (1969) è operativo il progetto ARPAnet che collega inizialmente quattro centri: UCLA (University of California at Los Angeles), SRI, UCSB (University of California at Santa Barbara), University of Utah; l’obbiettivo è di creare una rete che continua a funzionare anche se alcuni nodi sono distrutti; il numero dei nodi cresce rapidamente: nel 1973 erano 40, nel 1981 213. Si configura già dall’inizio come una “rete di reti”: viene sperimentato il protocollo TCP/IP che si evolve fino a che nel 1979 viene installato lo ICCB (Internet Configuration and Control Board). Sostanzialmente sono disponibili tre servizi: Telnet, dagli inizi degli anni ’70: per accedere (direttamente)a un computer remoto, FTP dal 1971 (sarà completamente definito nel 1985): per accedere indirettamente a un computer remoto e trasferire i file e, soprattutto email iniziata già nel 1965; Ray Tomlison introdusse il simbolo @ nel 1971 (insieme ai programmi allora più noti per inviare e ricevere la posta). La email è stata la killer application di ARPANET.
Negli anni ’70 si assiste alla diffusione a tappeto delle applicazione dell’informatica nelle aziende medio-grandi, con il comparire dei cosiddetti sistemi informativi aziendali: vengono automatizzate tutte le attività procedurali che gestiscono dati; tra queste le varie contabilità, la gestione del personale, dei magazzini, dei clienti e fornitori. Verso la fine del decennio (con la crisi del software) si ha l’impressione di essere arrivati quasi alla “saturazione” della diffusione dell’informatica.
Nel 1972 la NASA realizza, su un caccia F8, il primo sistema di pilotaggio completamente mediato da un computer, senza trasmissione meccanica dei comandi: è il secondo grande contributo allo sviluppo dei trasporti aerei.
Nel 1974 compare Mycin, sistema esperto per la diagnosi medica e la terapia per malattia del sangue.
Nel 1976 Diffie ed Hellman pubblicano il primo algoritmo per la crittografia a chiave pubblica.
Tra il 1978 e il 1979 viene concepito e realizzato Visicalc il primo tabellone elettronico; contemporaneamente compare un editor, Wordstar: insieme aprono una nuova era nelle applicazioni dell’informatica.
Nel 1979 John Shoch and Jon Hupp allo Xerox Palo Alto Research Center costruiscono un programma che si propaga sulla rete (Arpanet) per individuare i computer momentaneamente non utilizzati; lo chiamano "worm": sarà il precursore (dopo una ventina di anni) di una categoria di “virus”.
Una altra applicazione, nata in questo periodo, che avrà in futuro uno sviluppo strepitoso è quella dei video giochi; il primo fu essenzialmente PONG costruito da Al Alcorn nel 1972 per Atari (fondata da Nolan Bushnell) come un piccolo apparecchio che si collegava a un televisore; nel 1975 fu prodotta la versione per uso domestico e nel 1977 fu distribuita la versione per sala giochi: uno o due giocatori muovevano una “racchetta” per far rimbalzare una pallina. Nel 1978 apparve “Space invaders”, ideato in Giappone e distribuito da Atari, destinato a diventare uno dei giochi più famosi.
Come appariva lo schermo di PONG
Come appariva lo schermo di Space Invaders
Come appariva lo schermo di Visicalc
L’UTILIZZO DELL’INFORMATICA
In questo periodo gli utilizzatori dell’informatica si dividono in esperti e utenti finali (con l’eccezione delle applicazioni scientifiche, nelle quali i due ruoli spesso coincidono); a parte le persone coinvolte nella ricerca (hardware e software) e nella produzione, installazione e manutenzione dell’hardware, compaiono nuovi mestieri: gli operatori (addetti alla gestione dei centri di elaborazione dati), gli analisti e i programmatori dapprima distinti e poi, successivamente alla crisi del software, sempre più coincidenti.
Scompaiono alcuni mestieri: l’impiegato di banca si chiama contabile senza più riferimento alla etimologia: è scomparsa la figura di chi faceva somme e sottrazioni (i conti, appunto) per “tenere” le scritture.
All’inizio le applicazioni (per esempio i grandi sistemi informativi aziendali) prevedono un uso “batch”: i dati di input si preparano mediante la perforazione di schede (successivamente da terminale), la elaborazione si svolge solo quando tutti i dati sono stati preparati (e spesso trasferiti su nastro magnetico); essa, oltre a modificare dei file, produce un output a stampa, su modulo continuo (i cosiddetti tabulati) spesso prodotto in più copie e distribuito a chi ne ha bisogno; si mantengono grandi archivi di schede, tabulati e, nella migliore ipotesi, nastri magnetici. Le prime applicazioni transazionali permettono di raccogliere i dati dove nascono e distribuirli dove sono immediatamente necessari, ma richiedono un (lungo) addestramento e misurate col metro di oggi sono poco user friendly.
Negli ultimi anni del periodo si diffondono i terminali: prima sono telescriventi (sostanzialmente delle macchine da scrivere) e successivamente sono composti da tastiera e da un video a caratteri (di dimensione fissa), senza capacità grafiche. I giochi sono utilizzati su uno schermo di televisore.
Alla fine del periodo (1979) la IBM introduce la prima stampante laser collegata a un computer: arriva fino a 20000 linee al minuto, impiega moduli continui e “occupava una intera stanza”.
Stampane a impatto (IBM 1403)
Video terminale (IBM 3270)
Tipica perforatrice di schede (IBM 026)
Stampante laser (IBM 3800)
Terminale IBM 2741 con testina scrivente
Video terminale VT100
Capitolo-5
Dal 1979 al 1994
L’era del PC e la diffusione capillare dell’Informatica
In questo periodo l’informatica si orienta alle (esigenze delle) singole persone e nasce la rete globale.
Il PC. Nato dagli studi sull’interfaccia uomo-macchina, dalle indagini sulle attività non proceduralizzate (per esempio quelle di ufficio) e dallo sviluppo dei microprocessori, il personal computer si diffonde rapidamente prima nelle aziende poi presso le singole persone, diventando il protagonista della informatica. Essenzialmente introdotto dalla IBM viene fabbricato via via da altri produttori fino a diventare un bene di consumo di cui è irrilevante il produttore, ma contano solo le caratteristiche e il prezzo. Si sviluppano contemporaneamente gli strumenti di produttività individuale (editor, fogli elettronici, piccoli sistemi di data base) e i giochi (caratterizzati dalla grafica sempre più avanzata).
Importante per il diffondersi della cultura e della capacità di produrla (in specie per quella scientifica) è stata l’evoluzione della tecnologia delle stampanti (sia laser sia a getto d’inchiostro) che ha permesso la produzione di testi di alta qualità a costi sempre più bassi.
Internet. Parallelamente comincia la progressiva scomparsa dei mainframe che vengono sostituiti da macchine molto più piccole costruite con la stessa tecnologia dei personal (i cosiddetti server) integrati prima in una rete locale, poi sempre più connessi alla rete globale (Internet) che è l’altra grande protagonista del periodo. Nata come rete per la ricerca scientifica a scopi militari (ARPANET), dalla fine degli anni settanta alla fine degli anni ottanta vede il progressivo disimpegno del Dipartimento della Difesa degli Stati Uniti e l’enorme contemporanea diffusione in campo mondiale. All’inizio il servizio più usato è la posta elettronica, di cui è difficile sottostimare l’importanza, paragonabile a quella della posta ordinaria nella seconda metà dell’ottocento.
WWW. Verso la fine del periodo compare il World Wide Web, l’altro grande servizio su Intenet. Introdotto al CERN per gestire la documentazione interna, il suo sviluppo ha cambiato il panorama della conoscenza umana in modo simile alla introduzione della stampa alla metà del quattrocento, ponendosi anche come standard di interazione uomo-macchina. Attualmente quasi tutte le applicazioni della informatica sono costruite in stile WWW.
PC IBM, 1981
esempio di gioco interattivo: Tetris
Schermo DOS
Windows 3.1
Dal 1979 al 1994
L’era del PC e la diffusione capillare dell’Informatica
(L’informatica personale)
Presentazione del periodo
In questo periodo, come nel successivo, la tradizionale suddivisione di hardware, software e applicazioni non è più utile a capire e descrivere lo sviluppo dell’informatica; questo è così fortemente influenzato dal mercato che è conveniente classificare la materia nei due grandi segmenti caratteristici delle vendite: alle persone e alle aziende; un terzo argomento è quello che sarà il punto di riferimento dello sviluppo successivo: l’emergere di Internet.
Mentre l’espressione “personal computer” è usata per la prima volta nel 1962, l’oggetto corrispondente al nome appare sul mercato verso la fine degli anni ‘70; alla comparsa, successo ed evoluzione del PC contribuiscono quattro componenti essenziali.
- L’esigenza di rendere autonomo e indipendente l’uso di un computer da parte di ogni utente. Nel periodo precedente, per risolvere o almeno fronteggiare questo problema, erano comparsi il “time sharing” e i sistemi transazionali; questi davano l’impressione a un utente di poter usare “tutte” le risorse di elaborazione disponibili. Il time sharing era soprattutto volto all’uso da parte di informatici (per sviluppare e provare i programmi e le applicazioni) e di ricercatori (per il calcolo scientifico); i sistemi transazionali erano adatti solo ai “grandi” problemi aziendali perché richiedevano un lungo processo di analisi, scrittura e messa a punto del software.
- Lo studio dell’interfaccia uomo-macchina, che culmina nella messa a punto del paradigma Wysiwyg (pronunziato “uisi uig”, acrostico di What you see is what you get). Nel 1973 al Parc (Palo Alto research center della Xerox) era stato messo a punto un computer, Alto, che interagiva con l’utente per mezzo di video, tastiera, mouse (e quindi era l’antesignano del moderno PC); su questo era stato costruito, l’anno successivo un editor (Bravo) che, nel 1975, si era evoluto in Gipsy che aveva l’apparenza di un text editor moderno: in particolare mostrava sullo schermo il testo come sarebbe apparso in stampa e permetteva di correggerlo indicando mediante il mouse cosa doveva essere tolto o sostituito. Una tale interfaccia è fondamentale per poter usare uno strumento in modo naturale senza doverne imparare prima le convenzioni (artificiose) per il suo utilizzo (come invece avveniva per le applicazioni aziendali dell’informatica).
- Lo studio e l’analisi delle attività non “organizzate” e procedurali compiute da tutte quelle persone che svolgono a tempo pieno o parziale “attività di ufficio” (impiegati, dirigenti, ricercatori, addetti ai servizi, ecc.). Queste ricerche, iniziate alla fine degli anni ’60, continueranno per tutto il decennio successivo e, con grande vigore, negli anni ‘80 quando saranno contraddistinte col neologismo “office automation”; hanno come risultato, per esempio, la messa a punto di programmi (detti spreadsheet) come Visicalc (visto alla fine del periodo precedente) che permette ad un utente di decidere ed eseguire autonomamente una serie di semplici calcoli. Nasce, da questo filone e da quello precedente, la cosiddetta “metafora della scrivania” cioè l’idea di rappresentare, visualizzandoli mediante “icone” sul video, gli oggetti che sono di interesse (e che di solito stanno, appunto, sulla scrivania).
- La comparsa dei microprocessori (spesso brevemente chip). Nati agli inizi degli anni ‘70 sostanzialmente come essenziale elemento costruttivo dei mainframe, i chip sono utilizzati anche per automatizzare meccanismi complessi; passano poi al mercato hobbistico, che si trasformerà in quello dei PC. Il punto essenziale è che mettono a disposizione una “grande” potenza di elaborazione a un costo basso.
I microprocessori sono caratterizzati dalla lunghezza (in bit) della parola su cui possono fare operazioni e dall’ampiezza dei percorsi interni (o bus): se i due numeri sono diversi si indicano entrambi (i primi microprocessori sono stai a 4 bit, quelli attuali a 64). Altro parametro significativo è il clock, cioè la frequenza dell’orologio interno che scandisce l’intervallo di tempo in cui viene fatta (di norma) una singola operazione (i primi microprocessori avevano il clock di qualche megahertz, quelli attuali - 2005- di qualche gigahertz).
La preistoria del personal computer vede l’AppleI (1976), l’AppleII (1977) e l’AppleIII (1980) della Apple computer (in realtà oggetti principalmente volti al mercato degli “hobbisti”). Nell’agosto 1981 compare il PC IBM che cambia il corso della informatica: utilizza il microprocessore 8088 della Intel (a 16 bit e con il bus a 8) e il sistema operativo Dos della Microsoft.
Il periodo si può dividere in tre parti, ciascuna approssimativamente un lustro.
La prima parte (dal 1981 al 1985) vede la nascita dei compatibili e un conseguente (lento) evolversi del PC da parte di IBM (PC XT nel 1983 e PC AT nel 1984). La diffusione è principalmente nelle aziende che hanno mainframe IBM.
Dopo un tentativo abortito a causa del prezzo (Lisa) la Apple introduce il primo computer commerciale con interfaccia Wysiwyg (il Macintosh), che conquista principalmente utenti di tipo “scientifico”.
La seconda parte (dal 1986 al 1990) vede il lento sopravvento dei compatibili; è sempre più evidente l’importanza di Microsoft come fornitore del sistema operativo e di applicativi. IBM tenta di introdurre un sistema operativo autonomo (OS/2) e un bus proprietario (MCA) ma le mosse si rivelano un fallimento. Il video si evolve, assumendo prestazioni da consentire i primi video giochi “realistici” su PC. Vengono messe a punto interfacce grafiche (a finestre) che non si diffondono a causa delle scarse prestazioni dei microprocessori. Nelle grandi aziende cominciano a essere collegati con i sistemi informativi e si apre il mercato Home. La Apple, che nel 1987 introduce Macintoh II, però vede il suo mercato ridursi.
Nella terza parte (1991 al 1994) il potere di IBM di influenzare il mercato diventa trascurabile; si diffonde in maniera definitiva l’interfaccia grafica Wysiwyg con il sistema Windows di Microsoft, che insieme al produttore del microprocessore (Intel, che introduce il Pentium) guida il mercato. Compare il primo videogioco in 3D (Doom) che rende obsoleto l’hardaware specializzato per videogiochi. Si consolida l’affermazione degli applicativi Microsoft con l’introduzione di Office che comprende (almeno) un word processor (Word), uno spreadsheet (Excell), la posta elettronica e uno strumento per preparare presentazioni e diapositive (Power Point). I prodotti hardware e software evolvono in modo da rendere “obbligatoria” la sostituzione delle apparecchiature ogni 36-40 mesi. Il mercato aziendale diventa quasi saturo e si espande grandemente il mercato home.
La Apple introduce Quadra (1991) e Power Mac (1994) che però sono ormai una nicchia intorno al 5% del mercato.
Una cronologia ragionata del periodo è la seguente.
- nasce il PC IBM: Il modello base utilizza uno schermo a caratteri e due floppy disk (da 360 KB); è disponibile anche un video (detto CGA) grafico a 320×200 pixel e 4 colori. Utilizza il sistema operativo DOS fornito dalla Microsoft. Alla fine dell’anno compare il word processor WordPerfect.
- l’anno successivo accade un evento epocale: compaiono i primi “cloni”; (il primo in assoluto è della Columbia (poi rapidamente scomparsa dal mercato), il più “importante” è della Compaq: utilizza un microprocessore 8086 (con performance migliori di quello usato dalla IBM) e un sistema operativo fornito pure fornito dalla Microsoft: fino alla fine del decennio la storia del PC è caratterizzata dalla gara tra IBM e i cloni detti anche “compatibili”.
La Intel immette sul mercato il microprocessore 80286 (16 bit 16 bit-bus). Microsoft introduce Multiplan (diretto concorrente di Visicalc).
1983 La IBM rilascia il PC XT (eXtended Technology) che ha integrato un hard disk; può avere il simulatore (hardware e software) dei terminali tipici dei suoi mainframe, molto diffusi nelle (grandi) organizzazioni: si apre così il mercato dei sistemi informativi aziendali. I compatibili rispondono mettendo sul mercato delle “schede” (hw, corredate da software) che hanno la stessa funzione. Compaiono Word della Microsoft (destinato a soppiantare tutti gli altri word processor) e 1-2-3 che per molto tempo è il più diffuso spreadsheet per il PC.
Compare il primo portatile Compaq: pesa più di 12 chili.
1984 La IBM, spinta dai compatibili, mette in commercio Il PC AT (Advanced Technology) che impiega il microprocessore 80286; rende disponibile un video grafico (detto EGA) a 640×350 pixel e 16 colori e impiega un nuovo bus detto anche ISA (Industry Standard Architecture).
1985 La Intel mette in commercio il microprocessore 80386 a 32 bit; quasi immediatamente i costruttori di compatibili lo adottano nei loro prodotti che, avendo elevate prestazioni, erodono grandi quote di mercato delle aziende alla IBM. La Microsoft annuncia una interfaccia Wysiwyg (pensata per il nuovo microprocessore) per il sistema operativo DOS, che chiama Windows.
1986 Compaq precede IBM nel mettere sul mercato il primo PC basato sul nuovo processore 80386.
1987 La IBM lancia una nuova linea di prodotti, detta PS/2 (da Personal System), su cui monta (a seconda del costo) uno dei due microprocessori della Intel, ormai chiamati semplicemente 286 o 386; può utilizzare un video grafico (detto VGA) a 640×350 pixel e 16 colori (il primo adatto ai videogiochi). La novità maggiore però è il bus che è di nuova architettura coperta da brevetto detto MCA (MicroChannel Architecture). Compare Windows 2, che è un miglioramento della versione precedente, ma è ancora scarsamente usabile e quindi di modesta diffusione. La IBM introduce OS/2 come alternativa a DOS. Microsoft introduce lo spreadsheet Excell.
1988 Nove aziende che producono compatibili promuovono un nuovo bus, detto EISA (Enhanced Industry Standard Architecture) che è l’evoluzione del precedente ISA, per non pagare i diritti alla IBM, che aggiunge a OS/2 l’interfaccia grafica per competere con Windows. Compare lo speadsheet Quattro Pro della Borland.
1989 La Intel mette in commercio il microprocessore 486.
1990 La IBM introduce un nuovo standard per i video grafici: XGA a 1024×768 pixel e 256 colori; comunque da questo anno in poi la IBM diventa irrilevante nella evoluzione del PC, la cui evoluzione è portata avanti dalla cosiddetta Wintel, nome composto da Windows e Intel, cioè è influenzata solo dalla evoluzione dei microprocessori e dai sistemi operativi.
L’evento più significativo è la comparsa di Windows 3.0: usa la memoria virtuale, è veloce (porzione di codice sono state riscritte in assembler) e facilmente usabile: cambia la interazione uomo-macchina.
1992 Compare Windows 3.1, caratterizzato dalla possibilità di lavoro cooperativo (condivisione di file e stampanti su rete). OS/2 evolve nella versione 2.0
1993 La Intel mette in commercio il microprocessore Pentium (32 bit, 64 bit-bus).
Compare Doom che è riconosciuto come il pioniere dell’uso della grafica 3D; è distribuito come shareware e lancia il PC come game machine (le apparecchiature per videogiochi avevano hardware specializzato).
Compaiono Windows NT (essenzialmente orientato ai server) e Windows 3.11 orientato al “lavoro cooperativo” (in rete); contemporaneamente la Microsoft lancia il prodotto Office che comprende Word, Excell, Mail e Power-point (per comporre slide e presentazioni).
1994 Compare la versione 3 di OS/2 “warp” (scomparirà alla fine del decennio). Viene distribuito la versione beta di Windows 95 che è caratterizzato dal supporto di Internet integrato, è orientato al plug and play e contiene il DOS completamente integrato (che da adesso in poi smette di evolversi come sistema autonomo).
Periodo 1979 – 1994
(L’ERA DEL PC E LA DIFFUSIONE CAPILLARE DELL’INFORMATICA)
(Dal mainframe alle rete locali)
La V generazione e la progressiva scomparsa del mainframe
Il periodo si apre con il dominio dei mainframe IBM della quarta generazione, sia per l’hardware che per il software di base; tuttavia, mente il sistema operativo corrisponde a decine di migliaia di anni uomo in sviluppo ed era quindi difficilmente replicabile, la tecnologia dei microprocessori permetteva di costruire macchine con migliori prestazioni che potevano essere vendute a prezzi inferiori di quelle IBM. Nasce così, da parte di produttori soprattutto giapponesi, la diffusione dei PCM (Plug Compatible Mainframe) che erode una quota sostanziale del mercato. Sull’onda di questo successo nel 1982 il governo giapponese lancia il “progetto quinta generazione” (annunciato già l’anno precedente) diretto da Kazuhiro Fuchi: ha come obbiettivo di costruire un computer di nuova architettura con l’hardware altamente parallelo, il software sviluppato sul Prolog e le applicazioni basate sull’intelligenza artificiale. Dopo una decina di anni il progetto terminava senza aver raggiunto nessuno dei suoi obbiettivi.
Comunque anche il mainframe cominciava un declino senza ritorno: la complessità impediva lo sviluppo di applicazioni (veramente) nuove e i costi elevati (e lo sviluppo delle telecomunicazioni) promovevano l’outsorcing; cioè la gestione (remota) da parte di terzi degli strumenti di calcolo.
Le Lan e i server
Verso la fine degli anni ‘80 la convergenza dei “mini” con i personal produce i server (che causano l’estinzione dei mainframe). Si affermano essenzialmente due standard (specie verso la fine del periodo): microprocessori Intel e sistemi Microsoft, da una parte, microprocessori Risc (con una particolare architettura) e sistema operativo Unix dall’altra. Verso la fine del periodo (dal 1991 in poi) compare “Linux”, una versione di Unix iniziata da Linus Torvald, che è open source e free; evolve nel tempo e costituisce un fenomeno di vasta portata che sarà particolarmente importante nel periodo successivo.
Come si vede meglio nel cartellone III di questo periodo, nella seconda metà degli anni ‘80 si delineano gli standard della trasmissione dati: TCP/IP per l’aspetto software, ethernet per l’aspetto hardware. Questo, in un decennio, cambia l’aspetto fisico dei sistemi informativi aziendali: da uno o più mainframe cui è connessa una rete a stella di terminali a una rete (Lan: Local area network) a maglie di terminali cui sono connessi server e (sempre meno) mainframe. Anche l’architettura logica cambia: innanzitutto scompaiono progressivamente i data base gerarchici che vengono completamente sostituiti da quelli relazionali; la diffusione e la potenza di calcolo crescenti dei personal computer sostengono il paradigma della “elaborazione distribuita”, in cui un certo compito elaborativi è suddiviso in più programmi eseguiti in maniera coordinata su più hardware collegati dalla rete (ma spesso localizzati in siti diversi). Emerge in particolare il cosiddetto modello client/server in cui il flusso di dati tra il server (o il mainframe) e il terminale (PC) è tenuto al minimo (a causa anche della velocità delle linee di trasmissione, ancora modesta) e parte dell’elaborazione (per esempio la costruzione della presentazione finale) è fatta sul client (il terminale, appunto). Il modello, comunque, stenta ad affermarsi, a causa dell’elevata complessità della scrittura dei programmi che richiede.
Le applicazioni
A metà strada tra i server e i PC, compaiono le workstation: hanno grande potenza di calcolo e uno schermo di ampie dimensione e elevata risoluzione; nate dapprima nel mondo della ricerca, si diffondono soprattutto per la cosiddetta computer graphic; nascono così i sistemi informativi geografici e si diffondono gli gli strumenti per il CAD.
Parallelamente al PC IBM e ai compatibili, ma distinto, nei primi anni ’80, si sviluppa un discreto mercato dei cosiddetti home computers per gli hobbist e per i giochi elettronici, basati su microprocessori non Intel o Motorola; nel 1983, un leggera crisi economica negli Stati Uniti manda in crisi i video game su hardware dedicato, che non risogeranno più: i giochi saranno prodotti su hardware “standard” Intel.
In questo periodo, a fianco del personal computer, appare un’altra protagonista, destinata a rivoluzionare la produzione di documenti (e anche, in qualche modo, la produzione di contenuti): la stampante di qualità. Le stampanti dei terminali del periodo precedente (e quelle dei primi PC) erano ad impatto: la prima stampante laser di grande diffusione e basso costo risale al 1984: la LaserJet della HP (con la risoluzione do 300 dpi e il costo di 3600 dollari), seguita l’anno dopo dalla Apple LaserWriter. Nel 1990 la HP commercializza il primo modello sotto i 1000 dollari. Alla fine del periodo compare la prima laser print a colori. Un’altra tecnologia (inventata intorno al 1976) compare sul mercato nel 1988: la stampa a getto di inchiostro (il primo prodotto è la DeskJet della HP) che con una qualità solo leggermente inferiore è decisamente più economica (ed è destinata ad affinavarsi a quasi la metà dei PC).
La enorme diffusione dei personal fa aumentare gli utenti non esperti di applicazioni informatiche: queste a loro volta evolvono, adottando sempre più una GUI (Graphic User Interface) simile a quella caratteristica delle applicazioni di office e diventano sempre più user friendly; parallelamente cambiano gli stili di lavoro: scompaiono macchine da scrivere e “tutti” compongono i loro documenti curandone direttamente la grafica.
Si modifica la produzione editoriale, almeno per quello che riguarda la preparazione e la impaginazione dei testi, che viene sempre più fatta con strumenti basati su personal e software standard.
Scompaiono alcuni mestieri comuni: le dattilografe e i disegnatori (come nel periodo precedente erano scomparsi i contabili). Scompaiono anche alcuni mestieri informatici: per esempio non ci sono più perforatrici (e verificatrici di schede); si creano nuovi mestieri, per esempio l’assistenza alla rete, ai PC e alle applicazioni di produttività standard. La diffusione delle stampanti ad alta qualità incoraggia il “perfezionismo” e l’uso di copie multlipe: l’uso della carta aumenta a tal punto che periodicamente compaiono sostenitori del paperless office.
registrazioni e riproduzioni analogiche e digitale
tecnologie di stampa laser e inkjet
realtà virtuale
Periodo 1979 – 1994
(L’ERA DEL PC E LA DIFFUSIONE CAPILLARE DELL’INFORMATICA)
III CARTELLONE (La nascita di Internet)
Internet, come è conosciuta oggi, è un complesso fenomeno in cui si può individuare una struttura che evolve sotto la spinta di varie forze e con l’apporto di quattro filoni tecnologici:
- un metodo di trasmissione “logico”: TCP/IP;
- uno standard di trasmissione “fisico”: Ethernet;
- una maniera di localizzare, (de)scrivere e accedere ai dati: WWW;
- un linguaggio di programmazione: Java.
Questi filoni sono comparsi e si sono evoluti in maniera abbastanza intrecciata: nel seguito, comunque, vengono esaminati indipendentemente, prima di tratteggiare brevemente l’evoluzione del “sistema” Internet.
- Il protocollo TCP/IP fu ideato nel 1974 da Vinton Cerf e Robert Kahn (alla Stanford University); nel 1979 alle università e centri di ricerca aderenti ad ARPANET viene distribuito il sistema operativo BSD Unix (sviluppato a Berkeley) che contiene questo nuovo protocollo; l’anno successivo cominciò la conversione (terminata nel 1983) di ARPANET dal vecchio protocollo NCP. TCP/IP permette di gestire le “piccole” reti (locali) e le connessioni geografiche tra queste in maniera uniforme. È la base di tutti gli altri protocolli effettivamente usati oggi. Agli inizi degli anni ’80 compare il cosiddetto modello ISO/OSI (pubblicato ufficialmente nel 1984) che concettualizza il problema delle trasmissione di dati individuando sette livelli (invece dei cinque di TCP/IP): nonostante il notevole lavoro teorico connesso (e i molti protocolli che si inquadrano nel modello) il modello influenza poco i metodi attuali di trasmissione, che rimangono fortemente basati su TCP/IP.
- Ethernet è stata sviluppata da Robert Metcalfe e David Boggs dal ‘73 al ‘76 alla Xerox, nell’ambito delle ricerche che hanno dato origine alla GUI, al lavoro cooperativo, all’office automation e, in definitiva, al PC. Inizialmente aveva la velocità di 3 Mbps e impiegava un grosso cavo coassiale (detto, appunto, thick).
Agli inizi degli anni ’80 raggiunge la velocità di 10 Mbps e nel 1985 è standardizzata (IEEE 802.3a) su cavo coassiale sottile (detto thin).
Nel 1989 nasce switched Ethernet (che migliora in maniera essenziale le prestazioni) e nel 1990 viene introdotto Ethernet su doppino telefonico (IEEE 802.3e); verso la fine del periodo viene elaborato lo standard a 100 Mbps (IEEE 802.3u) detto “fast Ethernet” (che è reso ufficiale nel 1995).
Nel frattempo, agli inizi degli anni ’80, IBM sviluppa Token Ring che ha la velocità di 4Mbps e viene standardizzata nel 1985 (IEEE 802.5); nel 1989 fu portata a 16 Mbps. Verso la metà degli anni ’90 fu completamente abbandonata, specialmente in seguito alla comparsa di fast Ethernet (anche se furono introdotti standard fino a 1Gbps: la sua fortuna seguì quella di MCA per i personal computer).
- Nell’agosto 1991 il CERN cominciò a pubblicizzare il progetto World Wide Web, dopo che per due anni Tim Berners-Lee aveva sviluppato:
- l’URL (Uniform Resource Locator), cioè la maniera di identificare e localizzare le informazioni,
- il linguaggio HTML (HyperText Markup Language) per descriverle,
- il protocollo HTTP (HyperText Transfer Protocol) per accedervi,
e già erano disponibili le prime “pagine” nella rete dell’ente; queste erano nate in seguito alla esigenza dei fisici di condividere e diffondere il risultato delle loro ricerche. La tecnologia, nota come WWW o semplicemente Web, si diffonde rapidamente a causa della estrema facilità di creare nuovi documenti e collegarli a quelli già esistenti: nascono i motori di ricerca e i directoriy per consentire agli utenti di localizzare le informazioni.
Nel 1993 viene rilasciato il primo browser commerciale: Mosaic; alla fine dell’anno il primo motore di ricerca, Lycos (dal nome scientifico di un ragno predatore) creato alla Carnegy Mellon University, censisce 800˙000 “pagine”. Nella seconda metà del 1994 esce Netscape, che per qualche anno sarà il browser più diffuso (e precede di un anno Internet Explorer della Microsoft).
A metà degli anni ‘90 la parola Internet era già estremamente comune e, nella mente del pubblico, si riferiva essenzialmente al WWW (confondendo, quindi, la struttura di comunicazione con uno dei servizi forniti).
- Il linguaggio (e la piattaforma) Java nacque da un progetto interno alla Sun Microsystems alla fine del 1990 (chiamato prima Stealth e poi Green Project) come alternativa al C++ per le applicazioni embedded (per esempio gli elettrodomestici evoluti). Nato col nome Oak nel 1994 viene rinominato Java e reso disponibile su Internet; l’anno successivo con l’annuncio del supporto del browser Netscape comincia la marcia verso lo standard come linguaggio per le applicazioni su Internet.
Alla fine degli anni ’70 l’ARPA passa la gestione di ARPANET (che a causa del successo e diffusione non poteva più dirsi un progetto di ricerca) alla Defence Communication Agency. Viene creato lo ICCB (Internet Configuration Control Board) nel 1979 per coordinare lo sviluppo della rete.
Nel 1984 (dopo che l’anno precedente era stata terminata la conversione a TCP/IP) la porzione militare della rete viene scorporata e costituisce MILNET.
In questo periodo Paul Mockapetris e Jon Postel cominciano a lavorare su quello che è conosciuto come DNS (Domain Name System): la maniera di associare un nome simbolico a un indirizzo IP; nel 1987 viene fissato lo standard oggi in uso.
Intanto altre organizzazioni, oltre a quelle strettamente di ricerca, aderiscono alla rete: praticamente tutte le università americane e molte aziende produttrici di apparecchiature e servizi infornmatici.
Un’altra organizzazione governativa, la NSF (National Science Foundation), intorno alla metà degli anni ’80 cominciò a finanziare la NSFNet che consisteva in un backbone che collegava le installazioni di supercomputer.
Lo ICCB diventa IAB (Internet Advisory Board) verso la fine del 1984 e, mantenendo lo stesso acronimo, Internet Activities Board nel 1986.
Alla fine degli anni ’80 il Dipartimento della Difesa interrompe il finanziamento di ARPANET (i cui ultimi nodi si distaccano nel 1989); da allora la responsabilità della connessione passa a una agenzia civile la NSF: nel 1988 i backbone sono portati a 1.5 Mbps; viene creato lo IANA (Internet Assignement Number Authority) per amministrare lo spazio degli indirizzi IP.
Nel 1986 viene insediato lo IETF (Internet Engineering Task Force) per coordinare, sviluppare e promuovere gli standard su cui si basa la rete; agli inizi degli anni ’90 diventa un organismo internazionale e indipendente da governo americano.
Nel 1989 i nodi collegati superano i 100˙000.
Prima dell’introduzione del WWW i principali servizi disponibili all’utente finale sono:
- email, dalla fine degli anni ’60. Ray Tomlison introdusse il simbolo @ nel 1971 (insieme ai programmi allora più noti per inviare e ricevere la posta); fu la killer application di ARPANET;
- Telnet, dagli inizi degli anni ’70, per accedere (direttamente)a un computer remoto;
- FTP, dal 1971 (completamente definito solo nel 1985) per accedere indirettamente a un computer remoto e trasferire i file;
- USENET, introdotto nel 1979 alla Duke Univrsity come “ARPANET dei poveri”, verso la fine degli anni ’80 si diffonde su Internet; gli utenti suddivisi in newsgroup leggono e affiggono messaggi (detti articoli) come fossero messaggi attaccati su un tabellone; porta alla diffusione di termine come FAQ (Frequently Asked Questions) o spam;
- IRC, creato nel 1988, per comunicare in tempo reale su Internet; permette sia la comunicazione “molti a molti” che tra singoli utenti.
Nel 1991 NSF apre internet all’uso “commerciale”.
Nel 1992 il numero dei nodi supera il milione; viene creata la ISOC (Internet SOCiety) come struttura organizzativa per il supporto dello sviluppo di Internet: vi aderiscono IETF e IAB (ribattezzato Internet Architecture Board); ha sedi negli Stati Uniti e in Svizzera. Viene creato il RIPE (Reseaux IP Europeens) per svolgere le attività di amministrazione degli indirizzi IP in Europa.
Nel 1993 viene creato da NSF lo InterNIC per la registrazione e pubblicizzazione dei domini.
Nel 1994 ARPANET/Internet festeggiano il 25 anniversario. In Europa nasce TERENA che (fondendo due precedenti associazioni) raggruppa le reti degli enti di ricerca e delle università (il GARR è la rete italiana).
Capitolo-6 [ manca ]
Capitolo-7
"I computer possono pensare?".
Come l’Informatica in generale anche l’area specifica della Intelligenza Artificiale ha una storia che inizia prima della comparsa del computer.Gli automi giocattolo del settecento hanno suggerito l’idea della comunicazione uomo-macchina tramite scheda perforata, largamente usata nella automazione industriale; questa applicazione poi ha suggestionato la letteratura contribuendo alla nascita del mito del robot. Concettualmente più significativo per la disciplina è il lavoro di McCullch e Pitts (1943) i quali, utilizzando le ricerche svolte in campi diversi (sui neuroni del cervello, sulla logica proposizionale e sulla teoria della calcolabilità), hanno proposto un modello di neurone artificiale che è la base per l’interpretazione connessionista della disciplina.
Con la comparsa del computer si è successivamente affermata anche la così detta interpretazione simbolica della Intelligenza Artificiale: questa interpretazione sostiene che ogni azione intelligente può essere riprodotta da un sistema fisico capace di manipolare simboli (come era stato ipotizzato nel 1950 da Turing nel lavoro Computing Machinery and Intelligence).
Dopo alterne vicende che hanno suscitato grandi entusiasmi e aspettative, ma anche momenti di crisi e ripensamento, ora la disciplina si sta affermando come Industria e come Scienza.
Le attività scientifiche e applicative si possono pensare suddivise in due filoni distinti.
Nel primo, in cooperazione con altre discipline (filosofia, biologia, psicologia, linguistica, neuroscienze) contribuisce agli sviluppi della Scienza Cognitiva per lo studio e la comprensione dei processi mentali dell’uomo come per esempio percepire il mondo esterno, capire il perché e il come degli eventi, fare piani di azioni per raggiungere un obiettivo, comunicare con altri.
Nel secondo filone, l’Intelligenza Artificiale si occupa dei problemi, delle tecniche e dei metodi per costruire sistemi artificiali (agenti/robot) capaci di esibire prestazioni cognitive (e fisiche) simili a quelle dell’uomo.
Un modo per raggiungere risultati concreti in questo contesto è quello di formalizzare la razionalità (la logica) e quindi di costruire sistemi/agenti i cui comportamenti, nelle diverse situazioni problematiche, siano giudicabili razionali (cioè simili a quelli di un essere umano posto nelle medesime circostanze).
Da oggi a domani
L’Informatica invisibile, pervasiva e intelligente.
Intelligenza e Vita Artificiale
L’Intelligenza Artificiale è un’area dell’Informatica che si può pensare suddivisa in due parti.
Nella prima, in cooperazione con altre discipline, contribuisce agli studi della così detta Scienza Cognitiva tendente a studiare i processi mentali dell’uomo connessi con attività del pensiero quali percepire il mondo esterno, capire il perché e il come degli eventi, fare piani di azioni per raggiungere un obiettivo, comunicare con altri.
Nella seconda parte, l’Intelligenza Artificiale si occupa dei problemi, delle tecniche e dei metodi per costruire sistemi artificiali capaci di esibire prestazioni cognitive simili a quelle dell’uomo.
Un modo per raggiungere risultati concreti in questo contesto è quello di formalizzare la razionalità (la logica) e quindi di costruire sistemi/agenti i cui comportamenti, nelle diverse situazioni problematiche, siano giudicabili razionali (cioè simili a quelli di un essere umano posto nelle medesime circostanze).
La domanda al centro del dibattito teorico sull’intelligenza artificiale è fondamentalmente una sola: "I computer possono pensare?".
Esistono due prospettive filosofiche: la IA debole e la IA forte. La prima assume che un computer può simulare (tutti) i comportamenti che gli umani ritengono intelligenti; in particolare un computer può simulare le attività cognitive. Per la IA forte, un computer, quando si comporta in modo intelligente, dimostra di poter pensare: il computer può non solo simulare il pensiero, ma può effettivamente pensare.
La vita artificiale, è lo studio degli ambienti artificiali che, attraverso l’uso di simulazioni al computer, riproducono le caratteristiche comportamentali dei sistemi viventi naturali. Questa disciplina si propone di spiegare la vita in tutte le sue possibili manifestazioni cercando di esplicitare in forma logica le possibili prestazioni di un sistema vivente. Anche in questa prospettiva esistono due posizioni diverse.
La vita artificiale forte che sostiene che la vita è un processo che può essere formalizzato e quindi essere riprodotto e la vita artificiale debole che nega la possibilità di generare un processo vivente al di fuori di soluzioni basate sulla chimica organica. In questo ambito i ricercatori cercano più di mimare i processi viventi più che riprodurli.
Le applicazioni ricompresse nell’ambito della vita artificiale sono caratterizzate dall’uso estensivo di programmi software e simulazioni che includono algoritmi evolutivi, reti neurali, programmazione genetica, sciami intelligenti, modelli basati su agenti e automi cellulari.
Fonte: http://www.cs.unibo.it/casadei/appunti.doc
Sito web da visitare: http://www.cs.unibo.it
Autore del testo: non indicato nel documento di origine
Nota : se siete l'autore del testo sopra indicato inviateci un e-mail con i vostri dati , dopo le opportune verifiche inseriremo i vostri dati o in base alla vostra eventuale richiesta rimuoveremo il testo.
Parola chiave google : Tesina informatica tipo file : doc
Tesina informatica
Visita la nostra pagina principale
Tesina informatica
Termini d' uso e privacy