Se siete sviluppatori software o tecnici informatici vi sarà senz’altro capitato di imbattervi in un conoscente o un amico o un parente che vi chiede consigli sulle caratteristiche del loro prossimo computer. Vi sarà anche capitato che qualcuno vi chieda suggerimenti su come risolvere un problema con la stampante o con un’app installata sul telefonino. Credo che si tratti di una situazione comune, e penso che anche ai medici o ai farmacisti succeda qualcosa di analogo.
L’equivalenza informatica = computer è così diffusa che nessuno ormai la mette in dubbio e sono in tanti a pensare che tutto si riduce a questo: programmare, preparare, costruire, riparare, configurare, ottimizzare, istruire, progettare, gestire questo benedetto aggeggio chiamato computer.
Che cos’è un computer?
La domanda può sembrare retorica. Tutti sappiamo cos’è un computer: è quel dispositivo elettronico che è in grado di eseguire comandi ad alta velocità consentendoci di risolvere molti problemi legati alla vita quotidiana. Abbiamo anche imparato che non sono importanti le dimensioni: un server aziendale, un notebook e uno smartphone appartengono alla stessa famiglia.
Ma proviamo a dare un’occhiata in giro per trovare una qualche definizione formale del termine computer. Google propone la seguente, tratta dal dizionario italiano di Oxford Languages:
“Apparecchio elettronico in grado di svolgere operazioni matematiche e logiche e di memorizzare informazioni a una velocità e in una quantità superiori a quelle di cui è comunemente capace il cervello umano”.
Anche la definizione di Treccani non si discosta molto:
“Denominazione inglese, largamente nota nell’uso internazionale, del calcolatore elettronico, diffusa anche in speciali locuz. con cui vengono indicate particolari categorie di calcolatori che, per le dimensioni ridotte, la discreta seppur limitata capacità elaborativa e il prezzo contenuto, sono adatti all’uso tecnico-scientifico o aziendale di studiosi, professionisti, uffici, piccole imprese (come il personal computer «calcolatore personale»), o sono destinati alle famiglie (home computer «calcolatore domestico o familiare») per la contabilità domestica e per servizî varî o a scopo ricreativo [...]).”
Le parole chiavi evidenziate da queste definizioni sono:
essere un dispositivo elettronico,
svolgere operazioni molto velocemente,
memorizzare informazioni.
Eppure il termine inglese computer non è nato con questa accezione. La sua prima apparizione risale al XVII secolo ed indica semplicemente una persona che fa calcoli. Il termine ha continuato a mantenere questo significato fino alla metà del XX secolo, quando tra l’altro la gran parte dei computer viventi indossava la gonna, come ebbe a dire Katherine Johnson. La sua prima accezione estranea all’essere umano risalirebbe alla fine del XIX secolo e fa riferimento ad un qualsiasi strumento in grado di fare calcoli, indipendentemente da come è costruito.
In breve, nonostante comunemente pensiamo al computer come al dispositivo elettronico che tutti conosciamo, da un punto di vista linguistico e scientifico esso è qualcosa di molto più generale. Infatti, la famosa macchina di Turing non faceva alcun riferimento a come essa doveva essere fisicamente realizzata. Per la costruzione fisica dei computer sono stati usati diversi meccanismi di funzionamento (meccanico, elettromeccanico, elettronico) e diverse modalità della rappresentazione dell’informazione (digitale, analogica). Ancora oggi si sperimentano computer non basati sull’elettronica, come ad esempio i computer organici.
Alan Turing diceva che “un uomo fornito di carta, matita e gomma e assoggettato a una severa disciplina è in effetti una macchina universale”, cioè un computer. Riecco il concetto dell’uomo-computer, che pur non garantendo la velocità di quello elettronico, è pur sempre una macchina che fa calcoli. E, per inciso, non credo che possiamo considerare l’uomo un dispositivo elettronico.
Quindi, se non è l’elettronica a caratterizzare un computer, né la sua velocità a fare calcoli, qual è la sua caratteristica rilevante? Potremmo dire che un computer è una qualsiasi entità in grado di rappresentare informazioni e di elaborarle. Definizione decisamente troppo generica che apre innumerevoli orizzonti.
Che cos’è l'informatica?
Subito dopo la laurea in Scienze dell’Informazione inviai numerosi curricula e mi iscrissi a diverse banche dati alla ricerca del mio primo lavoro da informatico. Dopo qualche mese fui contattato da un’azienda per un colloquio ma ci fu un malinteso. Senza scendere nei dettagli, venne fuori che l’azienda cercava personale nell’ambito del marketing e delle vendite. In pratica, avevano frainteso il mio corso di laurea con quello di Scienze della Comunicazione.
Sul momento rimasi molto deluso e contrariato. A loro discolpa c’è da dire che il nome del corso di laurea non era così user-friendly. Probabilmente, se si fosse chiamato Informatica, come dopo alcuni anni avvenne, questo malinteso non sarebbe sorto.
Ma c’era un motivo per cui il mio corso di laurea si chiamava così. Esso era molto incentrato sui fondamenti del calcolo e sulla teoria dell’informazione. Insomma, le materie trattate erano più sbilanciate verso l’informatica teorica che verso l’informatica applicata. Intuitivamente viene attribuito al termine informatica più l’applicazione delle scienze dell’informazione che i suoi fondamenti. Il termine informatica si avvicina di più a quella che gli anglosassoni chiamano Computer Science. Tuttavia, in linea di massima non c’è una denominazione universalmente accettata per l’insieme delle discipline che ruotano intorno all’elaborazione automatica delle informazioni.
Personalmente, la distinzione che faccio è tra l’informatica teorica (Scienze dell’Informazione) e l’informatica applicata (o semplicemente Informatica).
Non mi piace la denominazione anglosassone Computer Science perché si focalizza sul computer, mentre a mio parere l’oggetto di studio fondamentale è l’informazione, da cui il termine informatica trae origine.
Non è una differenza da poco. Infatti, un conto è avere come elemento centrale dei propri studi il computer, inteso come un automa in grado di elaborare dati, un altro è avere l’informazione al centro dell'interesse, nel cui ambito si inserisce anche il computer.
Insomma, è come se considerassimo la pesca come la tecnica di costruire e usare le reti o l’ottica la disciplina che studia le lenti e gli altri dispositivi di ingrandimento. A questo proposito, illuminante è l’affermazione attribuita a Dijkstra:
“L'informatica non riguarda i computer più di quanto l'astronomia riguardi i telescopi.”
Indipendentemente dal fatto che l’abbia detta Dijkstra o meno, questa frase vuole sottolineare il fatto che nell’informatica c’è molto di più del computer.
Una definizione di informatica
Ispirandomi ad una definizione che ho letto da qualche parte, mi piace definire l’informatica come la disciplina che si occupa di tre problemi fondamentali:
la trasformazione di dati in informazioni (elaborazione) e il loro trasferimento nello spazio (comunicazione) e nel tempo (memorizzazione);
la rappresentazione (linguaggi), comunicazione (protocolli) e memorizzazione (formati) delle informazioni;
il processo di soluzione di problemi (algoritmi) e la loro traduzione in forma automatizzabile (programmazione).
A prima vista, l’approccio alla soluzione di questi problemi richiama subito alla mente il famigerato computer. Ma a ben guardare questi sono i problemi che l’uomo ha da sempre affrontato nel corso della storia e gli hanno permesso di evolversi sia sotto l’aspetto pratico e tecnologico che culturale.
Cos’è il linguaggio umano se non un sistema di rappresentazione di informazioni? Cos’è stata l’invenzione della scrittura se non un meccanismo di memorizzazione delle informazioni? Che cos’erano i segnali di fumo indiani se non protocolli per la comunicazione a grandi distanze?
E ancora, come si fa ad estrarre informazioni dai dati? Qual è la migliore strategia per vincere a scacchi? Come possiamo calcolare l’area di un campo di calcio? Quanto tempo ci impiega la luce del sole a toccare la Terra?
Le risposte a queste ed ad altre domande simili hanno a che fare con i tre problemi fondamentali dell'informatica. Sia che applichiamo un’elaborazione, sia che usiamo una rappresentazione o un meccanismo di comunicazione, l'informazione è al centro della nostra attenzione. Per gestire queste informazioni possiamo usare le nostre abilità cognitive e possiamo avvalerci di strumenti, come possono essere delle piccole pietre, carta e penna o il tanto celebrato computer.
In sintesi, la gestione di informazioni è l’anima dell’informatica (teorica e pratica). Il computer (elettronico) è solo un valido supporto. E se ci penso un attimo, in fondo quella azienda che aveva scambiato il corso di laurea in Scienze dell’Informazione con Scienze della Comunicazione non si era poi sbagliata di tanto.