Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Magnifying glass icon mgx2.svg Lo stesso argomento in dettaglio: Storia del computer.
Il computer è la versione più evoluta di una serie di strumenti di calcolo inventati sin dall'antichità tra i quali
l'abaco, la macchina di Anticitera, i bastoncini di Nepero; gli esemplari di macchine calcolatrici più famosi in
età moderna sono forse la macchina di Pascal (1645) e la macchina di Leibniz (1672), ma va ricordata anche
la macchina calcolatrice di Wilhelm Schickard, del 1623, della quale sono rimasti soltanto i progetti.
Il passaggio da macchina calcolatrice a vero e proprio computer (nel senso di dispositivo programmabile) si
deve a Charles Babbage: la sua Macchina analitica, progettata nel 1833, anche se mai realizzata, è
considerato il primo esempio di computer della storia; si trattava di una colossale macchina a ingranaggi,
alimentata a vapore e dotata di input, output, unità di memoria, di unità di calcolo decimale con registro
dell'accumulo dei dati e di un sistema di collegamento tra le varie parti e contrariamente a quanto si
potrebbe pensare, era interamente digitale.[15]
Nel corso dei decenni successivi il computer è passato attraverso vari stadi evolutivi: il computer analogico
(ne è un esempio l'analizzatore differenziale di Vannevar Bush del 1927), la macchina di Turing, i computer
digitali meccanici ed elettromeccanici (la Serie Z di Konrad Zuse, la macchina di Stibitz e l'ASCC di Howard
Aiken) ed infine quelli digitali ed elettronici (l'ABC di John Vincent Atanasoff e Clifford Berry, l'ENIAC di John
Presper Eckert e John Mauchly, il Colossus britannico); nel corso del XX secolo, inoltre, importanti progressi
nel campo dell'elettronica - come il transistor e il circuito integrato - e dell'informatica hanno contribuito
all'evoluzione del computer nella sua forma attuale passando da dispositivo elettronico presente solo in
aziende e centri di ricerca a dispositivo ad uso comune e consumo di massa per gli utenti comuni.
Descrizione
un calcolatore analogico è un tipo di calcolatore che elabora i problemi per analogia, o in termini più
scientifici, per quantità continue (cioè ammette valori infiniti);
un calcolatore digitale è un tipo di calcolatore che elabora i problemi digitalizzando, ovvero le quantità che
considera sono discrete (cioè ammette valori finiti).
I dati cioè, possono essere rappresentati in due modi, analogico o digitale:[18] un dato analogico è una
rappresentazione continua, analoga all'informazione effettiva che rappresenta, mentre un dato digitale è
una rappresentazione discreta, che spezza l'informazione in elementi distinti poiché l'elaborazione viene
eseguita per passi finiti (vedi algoritmo). L'informatica, per come si è sviluppata, ha preso maggiormente in
considerazione la seconda categoria di calcolatori. La prova è che i computer contemporanei funzionano
secondo l'algebra booleana, ovvero la logica di funzionamento di un normale computer ammette due stati
precisi, rappresentati dalle cifre 0 e 1. Esempi di calcolatori analogici odierni sono il termometro e l'orologio
tradizionali: nonostante vi siano gli indicatori dei gradi o delle ore, in realtà essi non sono sufficienti per
astrarre la posizione esatta del mercurio o delle lancette.[18][19] Il mercurio nel termometro sale con
continuità lungo le tacche, mentre un termometro digitale calcola la temperatura secondo una logica
binaria e discreta.
Struttura logica
La struttura logica del computer attuale può ricondursi alla presenza di almeno cinque elementi
fondamentali o sottosistemi:
Memoria;
Dispositivi di input/output;
Questo schema venne proposto per la prima volta dal matematico John von Neumann all'interno di uno
scritto informale del 1945 noto come First draft of a report on the EDVAC e va sotto il nome di architettura
di von Neumann.[20] L'opera nasce dalla partecipazione di von Neumann al progetto ENIAC e raccoglie le
idee provenienti da vari membri del team di sviluppo su come migliorare la funzionalità del computer
nascituro.
Va inoltre ricordato che von Neumann era stato profondamente influenzato da Alan Turing,[21] il quale
aveva proposto nel 1937[22] un modello di calcolo - passato alla storia come Macchina di Turing - che ben
si prestava a descrivere le operazioni eseguite da un computer, pur non essendo stato concepito per quello
scopo (Turing si stava occupando in quella sede del problema della computabilità, non della realizzazione di
un calcolatore). Il funzionamento della Macchina di Turing suggerì a von Neumann l'idea che la memoria
dovesse contenere non solo i risultati delle operazioni svolte dal computer, ma anche le istruzioni di
programmazione.
Premesso il contributo degli altri progettisti dell'ENIAC e quello di Alan Turing, a von Neumann va il merito
di aver approfondito, arricchito e messo a sistema gli spunti raccolti: motivo per il quale la struttura logica
sopra indicata è oggi nota come architettura di von Neumann.
Hardware, software, programmazione
Magnifying glass icon mgx2.svg Lo stesso argomento in dettaglio: Hardware, Software e Programmazione
(informatica).
(Pablo Picasso)
A differenza della mente umana, intesa come attività del cervello, che è in grado di affrontare e risolvere
problemi nuovi a mezzo di facoltà cognitive come intuizione e ragionamento, il computer, in quanto
macchina, pur partendo ugualmente da dei dati in input, è invece un semplice esecutore di ordini, compiti o
istruzioni impartite dall'esterno per risolvere determinati problemi d'interesse attraverso un algoritmo di
risoluzione del problema stesso in modo tale che a partire da determinati input produca determinati output
attraverso elaborazione degli stessi. Esso nasce dunque per eseguire programmi o applicazioni: un
computer senza un programma da eseguire è inutile.
Il computer, in quanto esecutore, ha dunque bisogno di essere istruito o programmato dall'esterno per
mano competente di un programmatore, il quale comunica/interagisce con la macchina attraverso i
linguaggi di programmazione ad alto, medio o basso livello di astrazione (linguaggio macchina), che si
differenziano tra loro secondo vari paradigmi di programmazione. Queste parti immateriali che consentono
l'utilizzo di programmi vengono comunemente chiamate software in contrapposizione all'hardware che è
invece la parte fisica (elettronica), nel senso di materiale e tangibile, degli elaboratori e che consente
l'esecuzione dei programmi stessi. Tutto ciò che si può ottenere con l'utilizzo accoppiato di strumenti
informatici o risorse hardware e software costituisce un 'applicazione informatica. Tutto il resto, oltre ad
hardware e software, sono i dati presenti nella memoria del computer, compresi all'interno di file e
directory ed utilizzati in input dai programmi stessi per l'espletamento in output del particolare servizio
richiesto dall'utente.
Dal punto di vista hardware il computer inoltre è un sistema elettronico digitale (programmabile) che
elabora cioè tutti i dati in formato digitale o numerico ovvero come sequenze di 0 e 1 corrispondenti a due
livelli di tensione (alto e basso) corrispondenti a loro volta ai due stati fisici di interruttore aperto e chiuso.
La logica elettronica interna di funzionamento è dunque basata sull'Algebra di Boole. Il linguaggio
dell'hardware è propriamente un linguaggio macchina ovvero sequenze di bit cui si associano per semplice
codifica i linguaggi a più alto livello. Ovviamente l'immissione dei dati in input alla macchina elaboratrice è
di tipo alfa-numerico decimale per cui è necessaria un'operazione di traduzione o codifica delle
informazioni in binario; viceversa per ottenere una visualizzazione in output dei risultati dell'elaborazione è
necessaria una traduzione o codifica inversa da binario ad alfa-numerico decimale. Tale codice è
generalmente il codice ASCII.
A larghe linee la progettazione di sistemi di elaborazione a livello hardware ricade in massima parte nel
campo dell'ingegneria informatica (la quale a sua volta afferisce conoscenze dall'ingegneria elettronica),
mentre lo sviluppo software è affidato in massima parte al campo dell'informatica pura. Pur tuttavia i
confini tra le due discipline non sono rigidi bensì spesso assai sfumati.