L’informatica è Scienza , Strumento o Disciplina
Introduzione
Da anni, mi sono interessato d’informatica. Tutto ebbe inizio presso l’Università di Padova nel lontano 1972, frequentando il corso di “Elaborazione automatica dei dati” istituito per la facoltà di statistica e tenuto dalla prof.ssa Crescenti. L’incontro con quest’affascinante mondo avvenne nel mese di novembre di quell’anno in un’affollatissima aula con studenti vocianti e disinteressati. La prof.ssa, senza dire niente, si avvicinò alla lavagna e scrisse un’astrusa formula di calcolo combinatorio relativa a un’estrazione di palline bianche e nere in un’urna.
Gelò letteralmente la platea dicendo che voleva la risoluzione di quella formula, sotto forma di algoritmo, con programmazione in SPECTRE[1], per la fine di gennaio. Da consegnare il tutto presso il centro di calcolo della facoltà d’ingegneria dove sarebbe stato testato il programma. Per informazioni e consigli, usare il manuale del corso e chiedere consigli e aiuto ai vari professori e assistenti del centro di calcolo. Saluti e appuntamento a febbraio per la seconda richiesta. Rimanemmo tutti di stucco, “ma come non spiega?”
È stato il primo esempio di compito di realtà![2] È stato il primo rovesciamento della lezione frontale. È stato utilissimo per attivare tutte le energie per risolvere il problema e acquisire le competenze adatte.
Risolto il primo problema, a febbraio la richiesta è stata quella di scrivere un programma in FORTRAN II per la risoluzione, nel mio caso, di equazioni differenziali (metodo di Runge-Kutta). Anche in questo caso sono valse le modalità precedenti.
Al terzo appuntamento di aprile il compito assegnato è stato quello della gestione di una grossa mole di dati.
Siamo nel periodo storico delle schede perforate e del cervellone unico[3]. Questo racconto serve a mettere in risalto le diverse facce con le quali si dovevano affrontare lo studio e la conoscenza dell’informatica. La conoscenza della matematica era un requisito indispensabile, ma più ancora la conoscenza del calcolo numerico. La determinazione di un algoritmo, la sua codifica e la sua implementazione “nella macchina” dovevano servire a risolvere “un problema”. Problemi quasi esclusivamente di origine numerica
[1] È un linguaggio molto vicino al linguaggio macchina ASSEMBLER. Il nome è in assonanza al periodo sociale rappresentato dai film di 007.
[2] Compito di realtà: «una situazione problematica, complessa e nuova, quanto più possibile vicina all’oggetto in studio, da risolvere utilizzando conoscenze e abilità già acquisite o da acquisire trasferendo procedure e condotte cognitive in contesti e ambiti di riferimento.
[3] In questo caso il cervellone era situato a Bologna e Padova si collegava con esso tramite una linea dedicata.
In questo caso l’informatica assumeva e assume, anche oggi, le sembianze di disciplina e scienza della risoluzione di problemi!
Il primo incontro con l’informatica fu dunque un incontro ad alto livello matematico, calcolo numerico, creazione di algoritmi e implementazione in apposito linguaggio di programmazione. Non era ancora percepita la rivoluzione informatica che negli anni a venire avrebbe sconvolto l’umanità.

Ho vissuto in prima persona tutta l’epopea del personal computer, passando dal mitico TEXAS TI-99/4A[4] al Commodore 64 sino ad arrivare al Personal Computer IBM con sistema operativo MS-DOS.
Cosa si elaborava con queste macchine? Gli applicativi erano ancora agli albori e gran parte dell’elaborazione era riservata al linguaggio BASIC[5], più che altro per la risoluzione di problemi a forte contenuto matematico, il restante era destinato ai video giochi.
Con l’avvento del primo PC[6] MS-DOS e del primo PC APPLE cominciarono ad apparire i primi veri applicativi. Dopo diversi tentativi che comprendevano anche simulazioni di macchine per scrivere, appare sul mercato il primo vero wordprocessor di successo realmente innovativo: WORD.
I precedenti, come wordstar, erano solo repliche delle macchine da scrivere ed erano contraddistinti dal generare stampe di documenti che presentavano un aspetto fortemente dattilografico.
Una delle prime, grandi, vere rivoluzioni[7] fu quella di creare font di caratteri in cui si teneva conto della spaziatura proporzionale tra i caratteri per produrre stampe di documenti con una reale veste tipografica.
L’invenzione del foglio elettronico si deve a Dan Bricklin. L’idea gli venne vedendo un suo professore universitario che disegnava una tabella di risultati di calcoli su una lavagna.
Quando il professore rilevò un errore, dovette cancellare e riscrivere un’intera sequenza di valori nella tabella, facendo venire in mente a Bricklin che si poteva replicare il procedimento in un computer.
La sua idea divenne VisiCalc, il primo foglio elettronico, nonché la “killer application” che trasformò il personal computer da hobby per appassionati di computer in strumento di lavoro.
Uno dei più popolari fogli elettronici è stato Lotus 1-2-3, che ai tempi del sistema operativo DOS era una delle applicazioni più utilizzate negli uffici. Il ritardo da parte di Lotus Software nel produrre una versione per Windows giocò a favore di Microsoft Excel, che è oggi il foglio elettronico più diffuso.
[4] Siamo nella categoria Home computer.
[5] In informatica il BASIC (acronimo dell’inglese “Beginner’s All purpose Symbolic Instruction Code”,[1] in italiano “codice di istruzioni simboliche di uso generale per principianti”) è un linguaggio di programmazione ad alto livello sviluppato nel 1964 presso l’Università di Dartmouth sul calcolatore GE-225. Ne furono coinventori i professori John George Kemeny e Thomas Eugene Kurtz. Il primo programma in BASIC “girò” il 1º maggio 1964 alle ore 4:00
[6] PC come personal computer. Si passa dalle grandi macchine gestite da centri di calcolo a macchine “personali”.
[7] Come citato nel discorso tenuto dal Ceo di Apple Steve Jobs, all’ Università di Stanford, USA, il 12 giugno 2005 in occasione della consegna delle lauree. In questo discorso cita un punto importante della sua visione facendo riferimento ad un corso di calligrafia da lui seguito dove fu affascinato dai caratteri Serif e Sans Serif e le loro proprietà tipografiche, che prevedevano la diversa spaziatura e proporzionalità di stampa degli stessi.
Negli anni 80 comparvero le prime suite di applicativi che diventarono i veri strumenti di produttività OFFICE. In questo caso parliamo d’informatica dal punto di vista strumentale.
Con l’introduzione dell’ambiente WINDOWS e MACINTOSH (Apple), l’approccio al PC era diventato molto più amichevole, user friendly, permettendo a moltissime persone di avvicinarsi all’informatica utilizzando il PC come uno strumento di produttività personale.
Nel frattempo mancava ancora l’interconnessione tra le varie macchine sia in ambito ristretto come può essere stato un ufficio (reti locali) sia in quella che oggi viene chiamata RETE. La storia dell’umanità è stata caratterizzata da grandi rivoluzioni epocali: la scoperta del fuoco, la scoperta della ruota, la stampa, la rivoluzione industriale e ultima grandiosa rivoluzione è stata INTERNET. Lo svilupparsi della rete delle reti ha permesso la realizzazione del “Il villaggio globale” [8]. Anche qui è interessante studiare la genesi di questa rivoluzione della quale ancora oggi non si conosce la portata. Senza addentarci per il momento nella storia e nella sua evoluzione, ricordiamo solo il nome di uno dei tanti protagonisti: Tim Berners-Lee, fisico al CERN di Ginevra che per primo implementò il World Wide Web.[9] Il Web è diventato uno strumento potentissimo di scambio d’informazioni e reperimento di esse, fino ad assurgere al ruolo di bandiera e baluardo della democrazia.
[8] La locuzione villaggio globale è stata usata per la prima volta da Marshall McLuhan, uno studioso delle comunicazioni di massa, nel 1964, in un suo libro (“Gli strumenti del comunicare” – originale: “Understanding Media: The Extensions of Man”) in cui, nel passaggio dall’era della meccanica a quella elettrica, ed alle soglie di quella elettronica, analizzava gli effetti di ciascun “medium” o tecnologia sui cambiamenti del modo di vivere dell’uomo.
[9] Il World Wide Web (nome di origine inglese), in sigla WWW, più spesso abbreviato in Web,[3] anche conosciuto come Grande Ragnatela Mondiale,[4] è un servizio di Internet[5] consistente nella possibilità di navigare ed usufruire di un insieme vastissimo di contenuti multimediali e di ulteriori servizi accessibili a tutti o ad una parte selezionata degli utenti di Internet.
Per inciso è molto interessante osservare quali uomini e quali idee hanno contribuito alla nascita di questo nuovo modo di comunicare. Ci si aspetta di vedere matematici, fisici e altri scienziati versati nelle discipline scientifiche contribuire alla nascita e diffusione di Internet. Invece non è stato così! I contributi più importanti alla nascita e diffusione della rete sono stati pensati e elaborati da psicologi e filosofi, le loro idee hanno permesso la nascita della RETE.
Dopo questa rapida carrellata di ricordi e impressioni, dopo aver insegnato, scritto e lavorato con l’informatica per più di quaranta anni, mi è difficile trovare un filo logico, un fil rouge conduttore che riesca a individuare un percorso che dia risalto all’importanza storica e nel contempo faccia vedere le strutture formali e concettuali in modo semplice e chiaro.
È complesso formalizzare i concetti portanti, si può iniziare seguendo un percorso di tipo ipertestuale, vagare di qua e di là, fornendo i link essenziali, e accostarsi all’informatica con un viaggio che può presentarsi anche avventuroso. Non privo di scogli e pericoli, ma pur sempre affascinante!
Ho adoperato l’aggettivo complesso non a caso! Una delle teorie cui faremo riferimento è quella della complessità. L’informatica è uno strumento per pensare e questo presuppone un approccio globale ai sistemi complessi.
L’informatica è uno strumento trasversale a tutte le attività umane, ma la dobbiamo pensare sempre come una scienza che aiuta a risolvere problemi, i cui “i genitori” sono….
La “madre” è la matematica e il “padre”
è il bisogno dell’uomo di organizzare conoscenza.
Nuclei essenziali e fondamentali
Tre sono i nuclei fondamentali ed essenziali:

Sistemi di numerazione binari
Gottfried Wilhem Leibnitz
Il sistema di numerazione binario, ideato dal filosofo tedesco Gottfried Wilhelm Leibniz, consente di rappresentare un qualsiasi numero usando i due soli simboli o cifre (in inglese digit) “0” e “1”, e di compiere con essi tutte le usuali operazioni aritmetiche.
Leibniz espose il suo sistema in diversi scritti, tra i quali De progressione dyadica che porta la data del 15 marzo 1679. Scrisse una lettera a Claudio Filippo Grimaldi del gennaio/febbraio 1697 e una al padre gesuita Joachim Bouvet del 18 maggio 1703. In quest’ultima, in particolare, Leibniz scrive:
Erano ben più di venti anni che avevo in testa questa aritmetica fondata sullo 0 e sull’1, della quale vedevo le mirabili conseguenze per condurre la scienza dei numeri a una perfezione che supera tutto quello che possediamo.
George Boole
È il matematico-logico che per primo formalizzò in una struttura algebrica le parti del discorso introducendo il concetto che una preposizione può essere “TRUE” o “FALSE” e si poteva operare sulle preposizioni (adottando regole e proprietà algebriche) con i connettivi logici “AND” “OR” “NOT” come operatori binari (AND, OR) e unari (NOT).
Si laureò con una tesi sull’algebra di Boole ed il suo utilizzo nell’ottimizzazione dei circuiti di commutazione ON, OFF. Nel 1948 pubblicò la rivoluzionaria “the mathematical theory of communication” Il suo grande merito sta nell’aver capito che il contenuto dell’informazione è indipendente dal contenuto del messaggio, ma è in relazione al numero di unità elementari necessari per codificarlo. Introdusse per primo il termine bit e fece il salto dall’analogico al digitale.
Questa rapida carrellata di concetti è stata fatta per esaltare il concetto duale di binario che sta alla base di tutta l’informatica.
0, 1 TRUE, FALSE ON, OFF
Per la realizzazione fisica del computer, come lo concepiamo al giorno d’oggi, abbiamo dovuto attendere che la tecnologia ci potesse supportare con l’invenzione di dispositivi elettronici sufficientemente veloci, piccoli ed economici quali:
- il transistore, realizzato nel 1948 da John Bardeen, Walter Houser Brattain e William Bradford Shockley ai Bell Telephone Labs (Nobel 1956);
- il circuito integrato, realizzato nel 1958 da Jack St. Clair Kilby, alla Texas Instrument (Nobel 1970);
- il microprocessore, realizzato nel 1971 da Federico Faggin (Italy) alla Intel.
Il progresso tecnologico, la sinergia di teorie e concetti espressi nel corso della storia dell’umanità l’intuizione di grandi matematici, come Shannon, hanno permesso il realizzarsi di quel grande miracolo della scienza che si chiama informatica.
Il passaggio dall’analogico al digitale
La definizione del concetto di analogico è difficile, anche se ci conviviamo con la vita di tutti i giorni. Analogico è un aggettivo della parola “segnale”. Da Wikipedia si ha la seguente definizione:
In generale con il termine analogico s’intende un segnale che è la rappresentazione o trasformazione di una grandezza fisica tramite una sua analoga.
Esempi:
- secondi (tempo) ↔ angolo della lancetta dell’orologio
- segnale acustico → segnale elettrico (microfono)
- segnale elettrico → segnale acustico (altoparlante)
- temperatura ↔ altezza in mm del termometro a mercurio
La rappresentazione numerica di una grandezza analogica è quasi sempre data da un numero reale (con precisione teoricamente infinita) o da una loro combinazione. Nella pratica, però, il segnale televisivo o delle schiere di sensori è rappresentato mediante numeri complessi, intesi come coppie di reali.
Per fissare meglio il concetto facciamo riferimento all’orologio con le lancette che danno l’informazione sul passare del tempo con un movimento “continuo”.
Il nuovo concetto di digitale si può estrinsecare pensando sempre al sostantivo che accompagna l’aggettivo “digitale” e in più all’etimologia della parola che deriva dal latino digitus, letteralmente dito, ma dal significato di computo[10], calcolo.
[10] Interessante notare che in inglese contare si scrive “to compute”, da qui la nascita della parola computer o calcolatore.
Da Wikipedia:
In informatica ed elettronica con digitale ci si riferisce a tutto ciò che viene rappresentato con numeri o che opera manipolando numeri. Il termine deriva dall’inglese digit, che significa cifra, che a sua volta deriva dal latino digitus, che significa dito.
In contrapposizione ad analogico si può quindi affermare, sempre citando Wikipedia, la seguente specifica tecnica:
Ciò che è digitale è contrapposto a ciò che invece è analogico, cioè non numerabile, non analizzabile entro un insieme discreto di elementi. Digitale è riferito dunque alla matematica del discreto che lavora con un insieme finito di elementi, mentre ciò che è analogico viene modellizzato con la matematica del continuo che tratta un’infinità (numerabile o non numerabile) di elementi.
Il padre del bit (binary digit) è stato Claude Elwood Shannon che per primo ha intuito che un segnale analogico poteva essere convertito in segnale digitale rappresentabile con combinazione numeriche derivanti dal sistema binario (0,1). Questa è stata la rivoluzione epocale che ci ha fatto passare dalla rivoluzione industriale a quella rivoluzione immateriale che è quella della comunicazione. Nel secolo scorso si trattavano “atomi” nel nostro si trattano eterei “bit”.


La possibilità di trasformare qualsiasi tipo di segnale di natura analogica in segnale digitale (bit) ha permesso a delle macchine chiamate COMPUTER di poter manipolare matematicamente questi segnali e dare all’umanità un potere inimmaginabile del quale ancora non si intravedono del tutto le conseguenze positive e negative.
È possibile convertire un segnale analogico in uno equivalente digitale, costituito da una serie di numeri, questo processo è chiamato digitalizzazione. A seconda degli scopi a cui è destinata la conversione, questa può essere effettuata in modo grossolano e approssimativo, oppure in modo molto accurato e preciso, in ogni caso il segnale digitalizzato perde sempre qualcosa rispetto all’originale analogico, non sarà mai identico.
Un tipico esempio è la conversione di un’onda sinusoidale (più o meno regolare), se il circuito di conversione usa un numero di bit insufficienti, risulta visibile geometricamente, una notevole differenza fra il segnale analogico e il segnale digitalizzato, costituito da un insieme di spezzate (tratti costanti ai valori dell’insieme discreto, tipicamente 0 e 1) del segnale digitale.
L’uso attuale più comune del digitale è nel campo audio, in cui un segnale analogico può venire approssimato sufficientemente bene. In alcune applicazioni la qualità del segnale digitale riprodotto risulta indistinguibile dall’originale analogico. Tale conversione è frequente quanto la discretizzazione di variabili continue in matematica o statistica (aspetto più generale di un problema soprattutto pratico).
Per esempio, un orologio con le lancette è analogico, perché la posizione di ognuna delle sue 3 lancette (ore, minuti e secondi) può indicare uno qualsiasi degli infiniti punti che formano la circonferenza del quadrante dell’orologio stesso, punti che quindi non sono numerabili. Al contrario in un orologio digitale le cifre che compongono l’ora, i minuti e i secondi indicano solo e soltanto gli 86.400 possibili momenti in cui può essere suddiviso, in secondi, un giorno (24 ore x 60 minuti x 60 secondi).
Un oggetto viene digitalizzato, cioè reso digitale, se il suo stato originario (analogico) viene “tradotto” e rappresentato mediante un insieme numerabile di elementi. Per esempio una foto, normalmente formata da un infinito numero di punti ognuno dei quali formato di un’infinita gamma di colori, viene digitalizzata, e quindi tradotta in foto digitale, allorché la sua superficie la si rappresenti divisa in un numero discreto di “punti” (in genere piccoli quadrati o rettangoli detti pixel) ognuno dei quali formato di un colore tra i 16.777.216 possibili (se codificati in RGB, e cioè in una combinazione di 256 sfumature di rosso, 256 di verde e 256 di blu), ovvero 8 bit per colore.
Molte tecnologie ricorrono al digitale per ottenere la riproduzione di un’onda (sonora o luminosa) che è analogica; il modem converte appunto un segnale analogico inviabile attraverso i doppini telefonici in un segnale richiesto dal pc o altro dispositivo elettronico che funziona tramite bit (0/1) e richiede un segnale digitale. I moderni televisori LCD funzionano principalmente con segnali digitali, mentre i televisori della precedente generazione CRT avevano un funzionamento basato primariamente su segnali analogici.
Si è associato al bit, in una fase successiva, un altro concetto di portata incommensurabile.
Il bit è diventato anche l’acronimo di binary unit ovvero unità minima di informazione.
un bit è l’unità di misura dell’informazione (dall’inglese “binary unit”), definita come la quantità minima di informazione che serve a discernere tra due possibili alternative equiprobabili
In questo contesto, un bit rappresenta l’unità di misura della quantità d’informazione intuitivamente, equivale alla scelta tra due valori (0/1, vero/falso, acceso/spento), quando questi hanno la stessa probabilità di essere scelti.
In generale, per eventi non necessariamente equiprobabili, la quantità d’informazione di un evento rappresenta la “sorpresa” nel constatare il verificarsi di tale evento; per esempio, se un evento è certo, il suo verificarsi non sorprende nessuno, quindi il suo contenuto informativo è nullo; se invece un evento è raro, il suo verificarsi è sorprendente, quindi il suo contenuto informativo è alto.
Matematicamente, la quantità d’informazione in bit di un evento è l’opposto del logaritmo in base due della probabilità di tale evento. La scelta del numero 2 come base del logaritmo è particolarmente significativa nel caso elementare di scelta tra due alternative (informazione di un bit), ma è possibile usare anche e (numero di Nepero), usando dunque il logaritmo naturale; in tal caso l’unità di misura dell’informazione si dice “Nat”.
Nel caso di due eventi equiprobabili, ognuno ha probabilità 0,5, e quindi la loro quantità di informazione è -log2(0,5) = 1 bit. Se la probabilità di un evento è zero, cioè l’evento è praticamente impossibile, la sua quantità di informazione è infinita. Se la probabilità di un evento è uno, cioè l’evento è praticamente certo, la sua quantità di informazione è -log2(1) = 0 bit. Se ci sono due possibili eventi, uno con probabilità 25% e l’altro con probabilità 75%, il verificarsi del primo evento convoglia l’informazione di -log2(0,25) = 2 bit, mentre il verificarsi del secondo evento convoglia l’informazione di -log2(0,75) =~ 0,415 bit.
Il contenuto informativo (o entropia) di un generatore di eventi (detto “sorgente”) è la media statistica dei contenuti informativi di ogni possibile valore, ovvero la somma delle informazioni pesate per la probabilità del corrispondente valore.
Nel caso dei due valori con probabilità 25% e 75%, il contenuto informativo della sorgente è:
0,25 x -log2(0,25) + 0,75 x -log2(0,75) =~ 0,811 bit.
Cioè la sorgente genera meno di un bit per ogni evento.
Nel caso di due eventi equiprobabili, si ha:
0,5 x -log2(0,5) + 0,5 x -log2(0,5) = 0,5 x 1 + 0,5 x 1 = 1 bit.
Cioè la sorgente genera esattamente un bit per ogni evento.)
Il bit come cifra binaria
In questo contesto il bit rappresenta l’unità di definizione di uno stato logico. Definito anche unità elementare dell’informazione trattata da un elaboratore. La rappresentazione logica del bit è rappresentata dai soli valori {0, 1}. Ai fini della programmazione è comune raggruppare sequenze di bit in entità più vaste che possono assumere valori in intervalli assai più ampi di quello consentito da un singolo bit. Questi raggruppamenti contengono generalmente un numero di stringhe binarie pari ad una potenza binaria, pari cioè a 2n; il più noto è il byte (chiamato anche ottetto), corrispondente ad 8 bit, che costituisce l’unità di misura più utilizzata in campo informatico. Altri raggruppamenti di questo tipo sono i seguenti:
- nibble 4 bit, la metà di un byte
- word di lunghezza variabile, corrisponde a 16 o 32 o 64 bit a seconda del tipo di macchina. (L’API di Windows definisce il tipo di dato WORD come un numero intero di 16 bit senza segno su tutte le piattaforme. Questa circostanza, unita alle normali esigenze di retrocompatibilità dei nuovi sistemi, fa sì che spesso la lunghezza di un word venga fissata pari a 16 bit indipendentemente dall’hardware.)
- double word pari a 2 word (DWORD o LONGWORD)
- quad word pari a 4 word (QWORD)
- kibibyte 1024 byte, indicato con KiB
- mebibyte 1024 kibibyte, indicato con MiB
- gibibyte 1024 mebibyte, indicato con GiB
- tebibyte 1024 gibibyte, indicato con TiB
- pebibyte 1024 tebibyte, indicato con PiB
- exbibyte 1024 pebibyte, indicato con EiB
- zebibyte 1024 exbibyte, indicato con ZiB
- yobibyte 1024 zebibyte, indicato con YiB
NB: Le espressioni word, double word e quad word vengono usate come tipo di dato in programmazione (prevalentemente in linguaggio assembly e in linguaggio C).

An Investigation of the Laws of Thought (1854)
Da uno studio sulle leggi del pensiero ………..………(1854)
Nel 1854 George Boole pubblicò la sua opera più importante, indirizzata alle leggi del pensiero, con la quale propose una nuova impostazione della logica: scopo dell’opera fu quello di studiare le leggi delle operazioni mentali alla base del ragionamento esprimendole nel linguaggio simbolico del calcolo e di istituire, di conseguenza, una disciplina scientifica della logica sorretta da un metodo; dopo aver rilevate le analogie fra oggetti dell’algebra e oggetti della logica, ricondusse le composizioni degli enunciati a semplici operazioni algebriche. Con questo lavoro fondò la teoria di quelle che ora sono dette algebre di Boole (o, semplicemente, algebra booleana). Pur mantenendo distinte le operazioni mentali da quelle algebriche, la scienza della logica nella forma algebrica dall’algebra in quanto settore della matematica, le leggi logiche dai settori delle scienze naturali, il compito di Boole fu quello di travestire la logica con un abito matematico algebrico.
L’opera maggiore di Boole è stata la base (grazie a Claude Shannon, che ha riconosciuto la coincidenza tra il funzionamento dei circuiti commutatori e la logica proposizionale), per gli studi sui circuiti elettronici e sulla commutazione, e ha costituito un passo importante verso la concezione dei moderni computer.
Nel campo della logica i suoi più grandi meriti sono stati l’applicazione del calcolo simbolico alla logica, e il superamento del modello aristotelico e della Scuola in quanto non sufficienti a sorreggere l’impalcatura della logica stessa.
I così detti “valori Booleani”, sono utilizzati molto frequentemente nell’informatica e ne sono essenziali, dai linguaggi di basso livelli (Assembly), a quelli di alto livello e alle tecnologie web (php).
Con Boole vengono introdotti i concetti di VERO e FALSO che possono essere manipolati con la logica proposizionale che adotta le stesse regole del calcolo numerico. Gli operatori sono i connettivi logici AND, OR, NOT.
Senza addentrarci nella formalizzazione dei concetti dell’algebra osserviamo come questa, grazie sempre a Shannon, ha permesso la realizzazione delle logic gates o circuiti logici che sono alla base della realizzazione dei principali circuiti del computer.
Operatori booleani
Gli operatori dell’algebra booleana possono essere rappresentati in vari modi. Spesso sono scritti semplicemente come AND, OR e NOT. Nella descrizione dei circuiti, possono anche essere usati NAND (NOT AND), NOR (NOT OR) e XOR (OR esclusivo).
Esistono diverse simbologie per rappresentare gli operatori, scelte in base al campo in cui si lavora: i matematici usano spesso il simbolo + per l’OR, e × per l’AND, in quanto per alcuni versi questi operatori lavorano in modo analogo alla somma e alla moltiplicazione. La negazione NOT viene rappresentata spesso da una linea disegnata sopra l’argomento della negazione, cioè dell’espressione che deve essere negata. Nella progettazione di circuiti elettronici, vengono utilizzati anche gli operatori brevi NAND (AND negato), NOR (OR negato) e XNOR (XOR negato): questi operatori, come XOR, sono delle combinazioni dei tre operatori base e vengono usati solo per rendere la notazione più semplice.
Operatori:
NOT AND OR XOR NAND NOR XNOR
Valori:
vero – simboli alternativi: true, 1, ON, SI (YES)
falso – simboli alternativi: false, 0, OFF, NO
In elettronica digitale viene definito vero un bit 1, sia in Input che in Output, che di solito assume il valore di 5 V, mentre viene definito falso un bit 0, sia in Input che in Output, che assume il valore di 0 V.
Di seguito sono indicati gli operatori più comuni e le rispettive porte logiche:
NOT
L’operatore NOT restituisce il valore inverso a quello in entrata. Una concatenazione di NOT è semplificabile con un solo NOT in caso di dispari ripetizioni o con nessuno nel caso di pari.
| A | NOT A |
| 0 | 1 |
| 1 | 0 |
Spesso, al fine di semplificare espressioni complesse, si usano operatori brevi che uniscono l’operazione di NOT ad altre: questi operatori sono NOR (OR + NOT), NAND (AND + NOT), XNOR (XOR + NOT). La negazione, in questi casi, viene applicata dopo il risultato dell’operatore principale (OR, AND, XOR).
Il simbolo di una porta NOT è

OR
L’operazione logica OR restituisce 1 se almeno uno degli elementi è 1, mentre restituisce 0 in tutti gli altri casi. Tale operazione è anche detta somma logica.
| A | B | A OR B |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Nella teoria degli insiemi corrisponde all’unione.
Il simbolo di una porta OR è:

AND
L’operazione AND dà come valore 1 se tutti gli operandi hanno valore 1, mentre restituisce 0 in tutti gli altri casi. Tale operazione è anche detta prodotto logico.
| A | B | A AND B |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
È possibile realizzare un’operazione logica AND con un numero di proposizioni arbitrarie concatenando varie AND a due ingressi, per esempio:
p1 AND (p2 AND (p3 AND p4))
Nei circuiti digitali, la porta logica AND è un meccanismo comune per avere un segnale di vero se un certo numero di altri segnali sono tutti veri.
Nella teoria degli insiemi corrisponde all’intersezione.
Il simbolo di una porta AND è:

XOR
L’operatore XOR, detto anche EX-OR, OR esclusivo o somma modulo 2, restituisce 1 se e solo se la somma degli operandi uguali ad 1 è dispari, mentre restituisce 0 in tutti gli altri casi.
| A | B | A XOR B |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Nella teoria degli insiemi corrisponde alla differenza simmetrica. Per passare nella forma canonica SP (somma di prodotti) basta applicare la regola:
A⊕B = A * B’ + A’ * B
dove ⊕ è il simbolo di XOR.
Il simbolo di una porta XOR è:

Buffer
Buffer è la negazione del risultato dell’operazione NOT; restituisce il valore uguale a quello in entrata. Il Buffer non è un vero e proprio operatore, poiché in realtà non manipola l’informazione che riceve, bensì la lascia passare invariata; il Buffer dunque è semplificabile con un collegamento privo di operatori.
| A | Buffer A |
| 0 | 0 |
| 1 | 1 |
Il simbolo di una porta Buffer è:

composta da un NOT in serie ad un altro NOT.
NOR
L’operatore NOR, la negazione del risultato dell’operazione OR, restituisce 1 se e solo se tutti gli elementi sono 0, mentre restituisce 0 in tutti gli altri casi.
| A | B | A NOR B |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
Il simbolo di una porta NOR è:

composta da un NOT in serie ad un OR.
NAND
L’operatore NAND, la negazione del risultato dell’operazione AND, restituisce 0 se e solo se tutti gli elementi sono 1, mentre restituisce 1 in tutti gli altri casi.
| A | B | A NAND B |
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Il simbolo di una porta NAND è:

composta da un NOT in serie ad un AND.
XNOR
L’operatore XNOR, detto anche EX-NOR, è la negazione del risultato dell’operazione XOR; nella sua versione a due elementi restituisce 1 se tutti gli elementi sono uguali a 1 oppure se tutti gli elementi sono uguali a 0.
| A | B | A XNOR B |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Il simbolo di una porta XNOR è:

composta da un NOT in serie ad un XOR.
Tre personaggi caratterizzano, in modo molto incisivo, tre periodi storici particolarmente fecondi per la storia dell’informatica. Il 1700, caratterizzato dalla competizione di Liebnitz con Isacco Newton[11] pone le basi per l’automazione del calcolo. Difatti vengono presentate le prime macchine da calcolo che nella sostanza sono semplici addizionatrici. Sono macchine che grazie a rotismi e congegni meccanici tentano di dare un aiuto alla crescente mole di calcoli, dovuti all’ampliarsi dei commerci e della complessità della società. La tecnologia del periodo non permette la realizzazione pratica di altre buone idee.
Il 1800 di Boole è contrassegnato dalla potenza e dalla eccellenza in tutti i campi dell’impero britannico. È il periodo della Regina Vittoria! Boole ha formalizzato in modo algebrico la logica, introducendo i concetti di Vero e Falso e operando sulle proposizioni con i connettivi logici AND OR e NOT. Non si può non ricordare che in questo periodo abbiamo il contributo di Babbage con il suo progetto di macchina analitica che racchiudeva in sé già tutti i principi dei moderni PC. È da citare anche Ada Lovelace[12] figlia di Lord Byron e prima programmatrice di software. La tecnologia di quel periodo non riuscì a supportare queste intuizioni che rimasero tali. Charles Babbage fu invece il primo scienziato che intuì la vera architettura del computer, progettando due macchine: la macchina analitica e la macchina differenziale. L’esigenza era sempre quella di poter eseguire calcoli complessi in tempi rapidi e senza far uso delle tavole di logaritmi che contenevano numerosi errori e refusi.
[11] Tutti e due sono considerati i padri del calcolo infinitesimale.
[12] Si impegnò a scrivere i primi programmi per le macchine di Babbage.
La macchina differenziale
Babbage presentò il modello di quella che lui chiamò una macchina differenziale (Difference Engine) alla Royal Astronomical Society il 14 giugno1823 in un lavoro intitolato Note on the application of machinery to the computation of astronomical and mathematical tables. [2] Il suo scopo era quello di creare tabelle di polinomi utilizzando un metodo numerico chiamato il “metodo delle differenze”.
La macchina analitica
Tra il 1833 e il 1842 Babbage provò di nuovo: questa volta, cercò di costruire una macchina che fosse programmabile per eseguire ogni genere di calcolo, non solo quelli relativi alle equazioni polinomiali. Questa era la macchina analitica. Il progetto era basato sul telaio di Joseph Marie Jacquard, che usava schede perforate per determinare come dovesse essere la trama del tessuto. Babbage adattò questo progetto in modo che generasse operazioni matematiche.
La Macchina Analitica aveva dispositivi di ingresso basati sulle schede perforate, come nel progetto di Jacquard, un processore aritmetico che calcolava numeri, una unità di controllo che determinava che fosse eseguito il compito corretto, un meccanismo di uscita e una memoria dove i numeri potevano essere mantenuti in attesa del loro turno di elaborazione. Questo dispositivo fu il primo computer al mondo. Un suo progetto concreto venne alla luce nel 1837; tuttavia, in parte a causa di difficoltà simili a quelle incontrate con la Macchina Differenziale, in parte a causa dei conflitti con i meccanici che stavano costruendo i componenti (e che li tennero come merce di scambio in quella che sembra essere stata una disputa sindacale in corso), la Macchina non fu mai costruita.
Babbage ricevette un sostegno non trascurabile da un’altra fonte. Lady Ada Lovelace venne a conoscenza degli sforzi di Babbage e vi si interessò molto. Promosse attivamente la macchina analitica e scrisse diversi programmi in quello che oggi chiameremmo il Linguaggio assembly della macchina analitica, che tuttavia non furono mai eseguiti effettivamente e tradusse dal francese, integrandoli, gli appunti di Menabrea sulla programmazione della macchina analitica. Ada Lovelace è quindi considerata la fondatrice della scienza della programmazione, almeno nei suoi aspetti teorici.
Il 1940 di Shannon è il periodo della Seconda Guerra Mondiale. Lo scenario della guerra impose una accelerazione pazzesca in tutti i campi del sapere. Una mole infinita di dati doveva essere elaborata da una schiera di donne (non impiegate in guerra) per fornire le tabelle balistiche. La logistica di un esercito schierato sul fronte del Pacifico e dell’Europa imponeva la ricerca di nuovi metodi matematici e statistici per ottimizzare i servizi. Nel campo della ricerca, vedi bomba atomica, anche lì era imperativo svolgere calcoli e con la massima precisione. L’industria aeronautica e navale, gli strumenti di guerra hanno costretto gli scienziati a cimentarsi nel campo dell’automazione del calcolo. Una rivoluzione epocale è stata compiuta dal matematico inglese Turing che per primo stabilì il protocollo di funzionamento di un computer. Turing è stato quel matematico che assieme alla squadra di critto analisti di Bletchley Park decifrò la macchina ENIGMA con la quale venivano comunicati gli ordini dai comandi tedeschi ai sommergibili presenti in Atlantico.
Claude Shannon è stato un matematico e ingegnere elettrico il cui lavoro è alla base moderna Teoria dell’Informazione e ha contribuito a far nascere la rivoluzione digitale. Egli fu il primo a riconoscere come l’algebra booleana poteva essere utilizzata con i circuiti elettrici spianando la strada per il suo utilizzo in tutti i circuiti digitali e porre le basi per il moderno computer e altri dispositivi elettronici. Shannon ha, inoltre applicato con successo matematico la sua teoria ad altre discipline scientifiche, con conseguenti progressi nella teoria dei giochi, l’intelligenza artificiale e la genetica teorica.
Claude Shannon, lontano parente di Thomas Edison, nacque a Petoskey, una piccola città del Michigan. Dopo aver lavorato da ragazzo come telegrafista per la Western Union, nel 1932 iniziò gli studi presso l’Università del Michigan dove, nel 1936, conseguì due lauree triennali in matematica ed ingegneria elettronica.
Con la tesi che presentò al master del 1938 (Un’analisi simbolica dei relè e dei circuiti), Shannon dimostrò, utilizzando un circuito elettrico dotato di un interruttore, che il fluire di un segnale elettrico attraverso una rete di interruttori – che possono essere “accesi/spenti” – segue esattamente le regole dell’algebra di Boole (con i due valori di verità – VERO e FALSO – della logica simbolica). Shannon pose così la base teorica dei sistemi di codificazione, elaborazione e trasmissione digitale dell’informazione.
Dopo aver lavorato nel campo della genetica presso il laboratorio di Cold Spring Harbor, Shannon si dedicò al suo dottorato di ricerca (PhD) al Massachusetts Institute of Technology, dove collaborò alla costruzione dell’analizzatore differenziale di Vannevar Bush, un calcolatore analogico. La sua tesi di dottorato, risalente al 1940, è intitolata Un’algebra per la genetica teorica. L’anno seguente cominciò a lavorare nei celebri Laboratori Bell e, a partire dagli anni cinquanta, a questa attività aggiunse l’insegnamento al MIT.
Nei laboratori della Bell, dove rimarrà fino al 1972, Claude Shannon si occupò di problemi d’ingegneria a livello matematico ed intraprese gli studi che lo portarono a definire l’entropia nell’informazione, iniziando a porre le basi della teoria dell’informazione.
Durante la seconda guerra mondiale il Pentagono gli chiese di eseguire ricerche sulla possibilità di “guidare” i missili. Nel 1948 pubblicò in due parti il saggio Una teoria matematica della comunicazione, una composizione scientifica di qualità superba anche dal punto di vista della scrittura tecnica. In questo lavoro si concentrava sul problema di ricostruire, con un certo grado di certezza, le informazioni trasmesse da un mittente. Shannon utilizzò strumenti quali l’analisi casuale e le grandi deviazioni, che in quegli anni si stavano appena sviluppando. Fu in questa ricerca che Shannon coniò la parola “bit”, per designare l’unità elementare d’informazione. La sua teoria dell’informazione pose le basi per progettare sistemi informatici, partendo dal presupposto che l’importante era cercare di memorizzare le informazioni in modo da poterle trasferire e collegare tra loro.
Nel 1949 pubblicò un altro notevole articolo, La teoria della comunicazione nei sistemi crittografici, con il quale praticamente fondò la teoria matematica della crittografia. Shannon è, inoltre, riconosciuto come il “padre” del teorema del campionamento, che studia la rappresentazione di un segnale continuo (analogico) mediante un insieme discreto di campioni ad intervalli regolari (digitalizzazione).
Nel 1956 fu eletto membro della National Academy of Sciences. Dal 1958 al 1978 fu professore al MIT.
Sempre in questo periodo ricordiamo il gruppo di scienziati ungheresi che tanto contributo dettero alla nascita dell’informatica.
John Von Neumann
È lo scienziato che per primo propose la moderna architettura del PC e da quel momento non è più cambiata.

L’architettura della maggior parte dei calcolatori è organizzata secondo il modello della cosidetta Macchina di Von Neumann. John Von Neumann è stato il ricercatore ebreo ungherese che sollecitato dall’esercito americano durante il corso della II guerra mondiale, dedicò i suoi studi alla realizzazione dei primi Calcolatori elettronici. Grazie ai suoi studi ,nel 1946 realizzò ENIAC (Electronic Numerical Integrator and Computer), era in grado di effettuare 300 moltiplicazioni al secondo, ed occupava una stanza di 30 metri.
I Componenti fondamentali
- L’unità di elaborazione (CPU, Central Processing Unit): contiene i dispositivi elettronici in grado di acquisire , interpretare ed eseguire le istruzioni di un programma.
- La Memoria Centrale: è il dispostivo dove si trovano le informazioni necessarie all’esecuzione di un Programma, ossia istruzioni e dati. Questa è stata probabilmente l’idea vincente! Non c’era differenza di codifica tra dati e istruzioni, tutti e due sono codificati con dei semplici bit.
- Dispostivi di Input/Output o Periferiche: premettono di trasferire informazioni tra memoria centrale e/o CPU e l’ambiente esterno. (es. schermo, tastiera, memoria di massa)[13]
- Bus di sistema: opera il collegamento tra i vari componenti.
La nascita delle schede perforate precede di molto quella dei computer. Già nel 1725 Basile Bouchon usò rotoli di carta perforata su telai per regolare il motivo ornamentale da riprodurre sulla stoffa, e nel 1726 il suo collaboratore Jean-Baptiste Falcon migliorò il progetto utilizzando sequenze di schede, rendendo più semplice il cambiamento di programmazione della macchina. Il telaio Bouchon-Falcon era semi-automatico e richiedeva l’inserzione manuale del programma; nel 1801 Joseph Jacquard usò schede perforate metalliche per il controllo di un telaio di grande successo, maggiormente automatico, noto come telaio Jacquard.
Nel 1837 Charles Babbage, artefice dell’idea di una macchina calcolatrice programmabile, adottò il sistema a schede perforate di Jacquard per il controllo della sequenza di calcoli nel progetto del suo motore analitico (EN) [1]. Questo tipo di schede fu usato per l’immissione dei dati nelle prime macchine calcolatrici del tardo XIX secolo. La versione brevettata da Herman Hollerith l’8 giugno 1887 ed usata dalle schedatrici meccaniche dello U.S. Census nel 1890, era costituita da un cartoncino rettangolare della dimensione approssimativa di 90×215 mm, con fori rotondi: apparentemente tale dimensione fu scelta in modo da essere pressoché coincidente con quella delle banconote statunitensi di allora, così che gli scaffali destinati allo stoccaggio del denaro potessero essere utilizzati anche per le sue schede. Le prime applicazioni delle schede perforate utilizzavano schede specifiche; solo nel 1928 le schede perforate ed i relativi lettori divennero componenti generiche e la loro dimensione fu standardizzata esattamente a 7-3/8×3-1/4 pollici (187.325×82.55 mm), con uno spessore di 7 millesimi di pollice (ovvero circa 143 schede per pollice, chiamate anche deck).
Nel 1896 Hollerith fondò la Tabulating Machine Company, vincitrice del contratto di fornitura di macchine per schedatura per il Census Bureau e che nel 1911 si fuse con altre aziende dando vita alla Computing Tabulating Recording Co. (C-T-R), più nota, a partire dal 1924, con il nome di IBM.
Uno schema più semplice riferito alla macchina di von neumann secondo quanto detto finora può essere il seguente:

Principi di funzionamento
L’unità di elaborazione (CPU) coordina le varie attività, in particolare estrae istruzioni dalla memoria, le decodifica comprendendo il loro significato e le esegue.
I contenuti della memoria sono indirizzati in base alla posizione, indipendentemente dal tipo di dato o istruzione contenuto.
Le istruzioni vengono eseguite in modo strettamente sequenziale (principale limite del modello di Von Neumann).
Memoria Centrale
Affinchè un programma possa essere eseguito deve necessariamente risiedere in Memoria Centrale.
La Memoria Centrale è composta da un certo numero di celle (o locazioni o posizioni), ciascuna delle quali può memorizzare un’informazione in forma binaria.
Le celle hanno generalmente dimensione di un byte (8 bit) o di una parola quindi, aseconda del tipo di computer 16, 32 0 64 bits.
Le celle sono numerate con numeri interi da 0 a N-1, con N il numero di celle totali.
Ciascuna cella è individuata univocamente da un numero intero che è il suo indirizzo.
La capacità della Memoria si misura in byte:
| base | exp | byte | ||
| 2 | 10 | 1.024 | Kilobyte Kb | circa mille |
| 2 | 20 | 1.048.576 | Megabyte Mb | circa un milione |
| 2 | 30 | 1.073.741.824 | Gigabyte Gb | circa un miliardo |
Il numero di bit che costituiscono l’indirizzo definisce la dimensione massima della memoria indirizzabile (lo spazio di indirizzamento): con k bit si possono indirizzare 2k celle diverse. È realizzata a semiconduttori (memoria elettronica) ed è volatile, ossia perde le informazioni in essa contenute quando non alimentata (es. quando il calcolatore viene spento).
Componenti della memoria centrale
Oltre all’insieme delle celle. La memoria centrale è costituita da :
- Registro degli indirizzi: contiene l’indirizzo della cella di memoria che vogliamo leggere o scrivere.
- Decodificatore di indirizzi: è il dispositivo che individuala cella rappresentata nel registro indirizzi.
- Registro dati: contiene l’informazione che deve essere scritta nella cella o che è stata letta dalla cella individuata dal decodificatore di indirizzi.
- Il tempo necessario ad accedere ad una cella di memoria è costante, ossia è indipendente dall’indirizzo della cella a cui si accede (memoria RAM, Randon Access Memory).
Vannevar Bush

Vannevar Bush era lo scienziato che coordinava tutti gli scienziati americani impiegati nel periodo bellico ed è stato il professore di Shannon. L’importanza di Bush deriva dall’aver scritto un famoso articolo, alla fine della II guerra mondiale, che diede inizio all’era moderna dei computer, delineando gli orizzonti applicativi al di là della semplice esecuzione di calcolo per la risoluzione di problemi di natura matematica.
As we may think[14]
COME POTREMMO PENSARE
di Vannevar Bush
In qualità di direttore dell’Ufficio per la Ricerca e lo Sviluppo Scientifico, il dottor Vannevar Bush ha coordinato le attività relative all’applicazione della scienza alla guerra condotte da un gruppo di circa seimila scienziati americani di spicco.
In questo articolo significativo, lancia una sfida agli scienziati una volta cessato il conflitto. Chiede agli uomini di scienza di dedicarsi all’immane compito di rendere più accessibile il nostro immenso patrimonio di conoscenze. Per anni le invenzioni hanno avuto lo scopo di aumentare la potenza fisica dell’uomo piuttosto che quella della mente. Magli meccanici che moltiplicano i colpi, microscopi che amplificano la capacità visiva, e meccanismi di distruzione e rilevazione sono solo i risultati recenti della scienza moderna, non quelli finali. Ora, afferma Bush, disponiamo di strumenti che, se opportunamente sviluppati, permetteranno all’uomo di avere accesso e governare i saperi ereditati nei secoli. La messa a punto di questi strumenti pacifici dovrebbe essere il primo obiettivo dei nostri scienziati una volta concluso il lavoro relativo al conflitto. Come nel famoso discorso di Emerson del 1837 su “Lo Studioso Americano”, questo articolo di Bush chiede un nuovo legame fra l’uomo di pensiero e la somma delle nostre conoscenze. L’EDITORE
Norbert Wiener

Bambino prodigio, Wiener a tre anni era già in grado di leggere correttamente e a nove anni faceva il suo ingresso nella scuola superiore, dove completò il programma quadriennale in soli due anni. Poi studiò presso la Cornell University, la Columbia University, Harvard e Cambridge (con Bertrand Russell) e Gottinga, laureandosi in matematica, fisica e biologia.Quindi rientrò negli Stati Uniti, dove insegnò sia all’università di Columbia che di Harvard e del Maine, prima di finire al MIT come professore di matematica (1932-1960).Durante la seconda guerra mondiale fu coinvolto in importanti progetti militari, in particolare per la realizzazione di computer da utilizzare in calcoli balistici.
Le sue intuizioni su come avrebbe dovuto essere progettato un computer, unite agli studi di Turing e altri, consentirà a von Neumann di definire l’architettura necessaria per ottenere un computer d’utilizzo generico (general purpose), cioè nel quale l’hardware fosse indipendente dal programma in uso. L’atto di nascita vero e proprio della cibernetica risale al 1945, anno in cui Wiener, assieme a von Neumann, organizzò un convegno a Princeton al quale parteciparono molti matematici, logici, fisici e ingegneri. Dal convegno derivò anche una terminologia comune per definire concetti come “analogico”, “digitale”, “bit” e “feedback”. Negli ultimi anni di vita Wiener si dedicò in particolare alla matematica, neurofisiologia e ingegneria, con un certo riguardo verso possibili riflessi di queste materie in campo medico. In matematica diede un notevole contributo alla definizione della “teoria delle probabilità” e della “analisi delle funzioni”. Nei primi anni ’40 mise a fuoco, nell’ambito della Cibernetica, due importanti concetti: il feedback e la trasmissione dell’informazione. Il feedback (retroazione) è un principio attraverso il quale un fenomeno è in grado di autoregolare il suo output controllandone il risultato. Un esempio applicativo assai semplice e curioso riguarda lo sciacquone del bagno. Il dispositivo immette acqua nella vaschetta, ma tramite un galleggiante, viene “informato” quando la vaschetta è piena e provvede così ad arrestarne l’erogazione. Se il feedback non funzionasse…si allagherebbe la casa! Il feedback, dunque, aggiunge “intelligenza” cognitiva, quella che manca in gran parte dei programmi, che sono realizzati per eseguire determinate funzioni, ma non hanno l’abilità d’imparare nulla di nuovo, né tantomeno di correggere i propri errori. A dire il vero Wiener non si occupava di sciacquoni, ma di applicazioni ben più serie. Il suo impegno, infatti, fu orientato verso il miglioramento del puntamento delle bocche da fuoco in artiglieria contraerei, in base al ritorno di informazioni sul risultato del tiro precedente, fornito da un radar.
Questo processo di calcolo richiedeva molte operazioni in tempo reale e così Wiener si rese conto che i sistemi analogici non potevano reggere la richiesta. Occorreva utilizzare qualcosa di molto più veloce e si iniziò così a sviluppare una tecnologia digitale che sfruttava le condizioni on/off, in perfetta base binaria, impiegando valvole elettroniche.
Il meccanismo di riportare all’ingresso alcune informazioni, in modo da modificare l’azione tenendo conto dei risultati ottenuti, era un concetto completamente nuovo e venne esteso a vari campi applicativi o di studio, come i meccanismi neurofisiologici, ad esempio. Sulle trasmissioni delle informazioni, Wiener riprese alcune idee di Claude Shannon, circa il concetto di quantità dell’informazione in presenza di rumore di fondo.
Generic decision machine, 1983
Un semplice dispositivo oscillante tra il verde e il rosso, usabile per prendere decisioni. Si tratta di “sculture elettroniche artistiche” di Roman Verostko, che ricalcano il principio dualistico dei circuiti binari.
Premendo il pulsante la risposta può essere solo verde o rosso e, come nel famoso libro di Luke Rhinehart “The dice man”, si potrebbe impostare qualsiasi nostra azione giornaliera in base all’indiscutibile risultato casuale fornito dalla macchina.
A parte i risultati più tangibili degli studi di Wiener, il suo interesse spaziò in molti altri campi in cui approfondì varie problematiche prettamente filosofiche, dall’epistemologia alla metafisica.
Wiener si distinse anche per la sua profonda ribellione all’impiego militare delle scoperte scientifiche, arrivando persino a ipotizzare un suo ritiro dalla scena, dopo lo sgancio delle bombe atomiche su Hiroshima e Nagasaki.
La retroazione – o retro regolazione (feedback in inglese, ma usato spesso anche in italiano) è la capacità dei sistemi dinamici di tenere conto dei risultati del sistema per modificare le caratteristiche del sistema stesso.
In un controllo in retroazione il valore della variabile in uscita dal sistema viene letto dal controllore che agisce modificando l’ingresso del sistema. Questa caratteristica differenzia i sistemi retro azionati (ad anello chiuso) dai sistemi non retro azionati (ad anello aperto). Nei sistemi di controllo ad anello aperto il valore della variabile manipolabile viene determinato dentro il nostro sistema sfruttando dei modelli matematici, tali sistemi vengono chiamati predittivi perché non viene effettuata nessuna verifica sul valore. Nei sistemi di controllo retro azionati invece il valore viene determinato e corretto in base alla misura della variabile controllata e alla verifica della sua rispondenza, per questo motivo i sistemi retro azionati vengono anche chiamati esplorativi.


Ad esempio, un sistema di puntamento ad anello aperto calcola a priori le coordinate dell’obiettivo, quindi sia la direzione che l’alzata, calcola gli effetti del vento o di altri agenti esterni e poi incomincia a sparare. Il fatto che l’obiettivo sia stato centrato o meno non influisce sul puntamento dei colpi successivi. In un sistema retro azionato invece, dopo che è stato sparato il primo colpo si valuta la distanza dell’obiettivo e in base a questa vengono modificate le impostazioni dell’arma. È facile capire come in questo caso il secondo sistema sia molto più efficiente del primo.
La teoria dei sistemi retroazionati è utilizzata in molti campi delle scienze pure, delle scienze applicate (tra cui i controlli automatici) e della biologia. In questo ultimo campo è molto interessante l’applicazione della retroazione allo studio dell’ecosistema planetario nota come ipotesi Gaia. Il concetto è stato introdotto dal matematico americano Norbert Wiener negli anni quaranta.
Il concetto di feedback è uno dei molteplici concetti che hanno fatto la storia dell’informatica. Tutta l’architettura di Von Neumann è basata sulla applicazione del concetto di feedback. L’unità di controllo è un meccanismo di feedback.

[1] È un linguaggio molto vicino al linguaggio macchina ASSEMBLER. Il nome è in assonanza al periodo sociale rappresentato dai film di 007.
[2] Compito di realtà: «una situazione problematica, complessa e nuova, quanto più possibile vicina all’oggetto in studio, da risolvere utilizzando conoscenze e abilità già acquisite o da acquisire trasferendo procedure e condotte cognitive in contesti e ambiti di riferimento.
[3] In questo caso il cervellone era situato a Bologna e Padova si collegava con esso tramite una linea dedicata.
[4] Siamo nella categoria Home computer.
[5] In informatica il BASIC (acronimo dell’inglese “Beginner’s All purpose Symbolic Instruction Code”,[1] in italiano “codice di istruzioni simboliche di uso generale per principianti”) è un linguaggio di programmazione ad alto livello sviluppato nel 1964 presso l’Università di Dartmouth sul calcolatore GE-225. Ne furono coinventori i professori John George Kemeny e Thomas Eugene Kurtz. Il primo programma in BASIC “girò” il 1º maggio 1964 alle ore 4:00
[6] PC come personal computer. Si passa dalle grandi macchine gestite da centri di calcolo a macchine “personali”.
[7] Come citato nel discorso tenuto dal Ceo di Apple Steve Jobs, all’ Università di Stanford, USA, il 12 giugno 2005 in occasione della consegna delle lauree. In questo discorso cita un punto importante della sua visione facendo riferimento ad un corso di calligrafia da lui seguito dove fu affascinato dai caratteri Serif e Sans Serif e le loro proprietà tipografiche, che prevedevano la diversa spaziatura e proporzionalità di stampa degli stessi.
[8] La locuzione villaggio globale è stata usata per la prima volta da Marshall McLuhan, uno studioso delle comunicazioni di massa, nel 1964, in un suo libro (“Gli strumenti del comunicare” – originale: “Understanding Media: The Extensions of Man”) in cui, nel passaggio dall’era della meccanica a quella elettrica, ed alle soglie di quella elettronica, analizzava gli effetti di ciascun “medium” o tecnologia sui cambiamenti del modo di vivere dell’uomo.
[9] Il World Wide Web (nome di origine inglese), in sigla WWW, più spesso abbreviato in Web,[3] anche conosciuto come Grande Ragnatela Mondiale,[4] è un servizio di Internet[5] consistente nella possibilità di navigare ed usufruire di un insieme vastissimo di contenuti multimediali e di ulteriori servizi accessibili a tutti o ad una parte selezionata degli utenti di Internet.
[10] Interessante notare che in inglese contare si scrive “to compute”, da qui la nascita della parola computer o calcolatore.
[11] Tutti e due sono considerati i padri del calcolo infinitesimale.
[12] Si impegnò a scrivere i primi programmi per le macchine di Babbage.
[13] Lo schermo, come noi lo pensiamo e adoperiamo attualmente, non esisteva nel periodo storico della nascita di ENIAC. Le informazioni venivano codificate con delle schede perforate. Il loro insieme ordinato costituiva il programma (le istruzioni) che poi veniva inserito nel computer. La risposta, l’elaborazione dei dati richiesti dal programma, veniva comunicata tramite stampa di un tabulato in genere cartaceo.
[14] As We May Think (lett. “Come potremmo pensare”) è un articolo scritto da Vannevar Bush per la rivista The Atlantic Monthly nel luglio 1945 che avviò la riflessione sullo sviluppo di sistemi tecnici ipertestuali. Bush, allora direttore dell’Office of Scientific Research and Development statunitense, sottolineava come l’unità di intenti degli scienziati alleati nella seconda guerra mondiale dovesse essere protratta in tempo di pace. L’ostacolo principale era per Bush il moltiplicarsi delle ricerche mentre le materie di studio si fanno sempre più specialistiche, mettendo a rischio l’interdisciplinarità e il dialogo fra scienziati.





cosa ne pensi?