Home

Storia dell'informatica

L'informatica ha radici molto antiche, in quanto meccanismi per automatizzare il trattamento dei dati e delle operazioni aritmetiche erano note già ai babilonesi intorno al X secolo a.C., in India e in Cina forse addirittura prima. L'informatica in senso moderno, però, nasce soprattutto dal lavoro di:
  • precursori quali Pascal e Gottfried Leibniz;
  • iniziatori come Babbage, Ada Lovelace, Zuse, Atanasoff, ancora Alan Turing, Stibitz e Howard Aiken;
  • creatori dei primi progetti computazionali di vasto respiro come de Finetti, von Neumann e Wiener.

Le origini

Se si guarda all'evoluzione del pensiero algoritmico formale, allora le prime sistemazioni si possono individuare nella grande matematica e nella grande tecnologia greco-ellenistica (v. Euclide, Archimede, Ctesibio, Macchina di Anticitera). Se invece si guarda alla prassi dei metodi di calcolo, allora le radici le ritroviamo già al tempo dell'antica Mesopotamia e dei primi sutra indiani, nonché nella matematica pragmatica dell'antica Cina.

Se vogliamo restringere alle opere postrinascimentali ed europee, allora i fondamenti possono ritrovarsi in Pascal, Leibniz, Babbage, Lovelace, Boole e Frege, e più direttamente ai lavori di Vannevar Bush, Alan Turing e John von Neumann.

Tutti questi punti di vista, comunque, propongono di definire l'informatica come la scienza del calcolabile.

Non vi è tuttavia unanimità nel conferire all'informatica il rango di scienza a sé, ed a volte si propende nel considerarla una disciplina evolutiva della matematica, nonostante costituisca un sistema di teorie, tecniche e strumenti ampio e consolidato: il problema fondamentale che rende difficile inquadrare l'informatica come una vera scienza sta nella sua frammentarietà e nella mancanza di un fondamento teorico unificante. Questo punto di vista non tiene conto sia di campi come la teoria della complessità algoritmica, sia dell'utilizzo degli algoritmi nella vita quotidiana: nei programmi delle lavatrici come nella risoluzione delle equazioni. Non tiene conto dei legami con la fisica e di molti altri aspetti dell'informatica assolutamente svincolati da ciò che calcola e legati o al calcolo in sé o al tipo dei dati e dei risultati. Infine, il forte legame sviluppatosi tra le scienze cognitive e l'informatica rende anacronistico questo modo di pensare all'informatica stessa: la psicologia, la mente e il cervello sono senz'altro differenti dai calcolatori elettronici, ma tutti possono essere studiati da branche dell'informatica, ma non necessariamente il contrario.

Ad ogni modo l’informatica ha la sua innegabile e tirannica radice scientifica. Non è proprio possibile capire l’informatica se non si intendono le leggi che governano come:

  • si digitalizza e si rappresenta l’informazione, sia essa “tradizionale” (testi o numeri) o piuttosto “nuova” (video, suono, odori)
  • si memorizza, organizza e reperisce l’informazione e la si protegge da un uso improprio
  • si trasmette in modo affidabile l’informazione
  • soprattutto come si elabora l’informazione: le leggi della programmazione

Queste leggi hanno carattere galileano: sono leggi dell’artificiale, certo non delle cose naturali, ma hanno la medesima forma di astrazione dall’esperienza e di generalizzazione del particolare; inoltre hanno la stessa rigorosa natura delle leggi di Galileo. Sono equazioni su domini opportuni, spessissimo di natura discreta, espresse nel linguaggio matematico: l’unico che sappiamo usare per creare, scambiarci e trasmettere conoscenza dai tempi degli alessandrini.

L’informatica, seppur giovane, è fortemente basata su aspetti matematici.
Enrico Bombieri dell’Università di Princeton, Medaglia Fields per la Matematica, quando era all’Università di Pisa nel 1974Premio Nobel per la Fisica), descrive magistralmente tale aspetto: Fino a poco tempo fa, i matematici teorici consideravano un problema risolto se esisteva un metodo conosciuto, o algoritmo, per risolverlo; il procedimento di esecuzione dell’algoritmo era di importanza secondaria. Tuttavia, c’è una grande differenza tra il sapere che è possibile fare qualcosa e il farlo. Questo atteggiamento di indifferenza sta cambiando rapidamente, grazie ai progressi della tecnologia del computer. Adesso, è importantissimo trovare metodi di soluzione che siano pratici per il calcolo.

La teoria della complessità studia i vari algoritmi e la loro relativa efficienza computazionale. Si tratta di una teoria giovane e in pieno sviluppo, che sta motivando nuove direzioni nella matematica e nello stesso tempo trova applicazioni concrete quali quello fondamentale della sicurezza ed identificazione dei dati.

Oltre agli aspetti pragmatici, vengono quindi formulate e studiate teorie informatiche al pari della matematica, della fisica e della chimica. Prendiamo per esempio il concetto di informazione, facente parte del nostro mondo fisico al pari dell’energia e della materia. Tutti percepiscono come reale l’atomo o il quark anche se nessuno può vederlo a occhio nudo. In maniera analoga, il bit è l’elemento costituente dell’informazione in quanto rappresenta l’informazione minima (0/1, acceso/spento, destra/sinistra, testa/croce, ecc.). Comunemente usato per misurare la capacità di memoria dei calcolatori, prescinde da questo uso in quanto la sua nozione è stata definita astrattamente prima dell’impiego massiccio dei calcolatori.

Negli anni cinquanta il padre della teoria dell’informazione, Claude Shannon, definì matematicamente il bit come la quantità di informazione necessaria a rappresentare un evento con due possibilità equiprobabili e l’entropia come la quantità minima di bit per rappresentare un contenuto

 

  Directory Computer