Sommario
< Home
Stampa

Introduzione all’informatica

Cosa è l’informatica

L’informatica è quella disciplina che si occupa della gestione dell’informazione tramite strumenti automatici (informazione automatica).

E’ quindi:

  • una disciplina scientifica, perché si occupa di studiare ed approfondire i concetti di informazione, calcolo ed automazione, fortemente correlata alla matematica e alla logica;
  • una disciplina tecnologica, perché si occupa della progettazione e realizzazione dei computer, fortemente collegata quindi all’elettronica e alle telecomunicazioni.

Il computer è una macchina in grado di memorizzare dati, di elaborarli autonomamente ed eseguire delle procedure automatiche (note come programmi) per gestirli e memorizzarli, anche in modo interattivo.

L’informatica parte dal concetto di dato. Esso è una qualsiasi nozione o conoscenza che può essere memorizzata e rappresentata in forma digitale. Quando uno o più dati sono legati tra loro da un significato allora essi contengono una informazione. Ad esempio i caratteri “C”, “I”, “A”, “O” presi singolarmente sono “dati”, ma diventano “informazione” quando insieme formano la parola “CIAO”, perché questa parola ha (per noi) un significato. I computer e l’informatica si occupano di dati, nella loro forma digitale, e della loro elaborazione, trasformazione e rappresentazione. Ma sono gli esseri umani a dare un significato a questi dati, a trasformarli cioè in informazione, ad esempio quando trasformiamo un insieme di caratteri in un documento, e così vale per le immagini, i video, la musica, ecc.

L’informatica si occupa di progettare, realizzare e mantenere sistemi automatici di elaborazione dati, ovvero sia i computer, cioè le macchine che si occupano di elaborazione e calcolo, sia i programmi interagiscono con le persone ed elaborano i dati in modo automatico.

Non bisogna fare però confusione con altri dispositivi automatici. Anche una lavatrice è un dispositivo automatico, anzi quelle più moderne sono in grado di analizzare il contenuto del cestello ed eseguire il programma di lavaggio migliore. In un certo senso è vero, sono “programmate” per elaborare dati e quindi ricordano il funzionamento di un computer. Ciò che le differenzia però da un computer è che i programmi della lavatrice sono predefiniti dal costruttore e non possono essere modificati una volta venduta.

Un computer invece mette a disposizione degli strumenti per essere programmabile anche dopo che è stato prodotto, tramite apposite istruzioni in determinati linguaggi di programmazione che permettono di istruire il computer ad elaborare dati secondo compiti specifici. Inoltre i computer hanno una memoria permanente che permette di conservare nel tempo sia dati che programmi.

In conclusione, il calcolatore quindi è una macchina in grado di essere programmata per eseguire un insieme illimitato di programmi e memorizzarli insieme ai relativi dati che elaborano.

La parte fisica del computer viene chiamata hardware. La parte non fisica, quella che memorizza dati e programmi, viene chiamata software.

Dalle macchine calcolatrici all’intelligenza artificiale

L’idea di una sequenza ripetibile di operazioni matematiche per elabora delle informazioni nasce dal matematico arabo Al-Khwārizmī (IX secolo) da cui prende nome la parola algoritmo.

Un interesse per macchine in grado di svolgere calcoli in modo automatico comincia però nell’età moderna, con le prime macchine in grado di eseguire addizioni (come la Pascalina, di Blaise Pascal, nel 1600) e successivamente si evolve con la macchina differenziale di Charles Babbage (prima metà dell”800), che inventò una macchina meccanica in grado di svolgere calcoli sui polinomi. Fondamentale fu il contributo di Ada Lovelace (che collaborò con Babbage) che fu la prima a proporre l’idea di una macchina programmabile generica proprio come la intendiamo oggi, e scrisse il primo vero programma, facendo di lei la prima programmatrice della storia, un secolo prima che venisse inventato il computer.

Il concetto di computer viene però nel XX secolo. Questo secolo, più di ogni altro, ha visto la società diventare da agricola ad industrializzata. E con l’industria si sono evolute tecnologie e metodologie di produzione basate sulle macchine, sulle automazioni, che hanno profondamente cambiato la nostra società dall’essere una società legata ai tempi della terra, ad una società che invece si basa sulle macchine e sul lavoro industriale. In particolare è stato il modello basato sulla catena di montaggio, dove mediante una serie di piccole operazioni a partire da un prodotto grezzo, gli operai con le macchine producono passo passo un lavorato finito, un modello che ha segnato anche un cambio di mentalità nel modo di costruire le macchine stesse.

L’inventore del computer è Alan Turing, che riuscì a progettare nel 1936 una macchina calcolatrice dotata di un insieme di istruzioni e di una memoria in grado di essere programmabile per svolgere qualsiasi tipologia di calcolo, anche molto complesso. La “macchina di Turing” è il modello teorico del computer ed il fondamento di qualsiasi computer esistente oggi, e Turing è considerato il padre dell’informatica.

Non esisteva ancora però una tecnologia in grado di applicare la teoria di Turing. Ci volle la seconda guerra mondiale, le esigenze belliche, ma anche industriali misero a disposizione enormi risorse per poter realizzare un computer vero. Fondamentale è stato il contributo dato da John Von Neumann, un matematico ungherese che inventò il primo vero computer nel vero senso della parola, l’EDVAC (nel 1947) tramite una architettura detta appunto “macchina di Von Neumann“, che è a tutt’oggi l’architettura di riferimento del computer, che vedremo nelle prossime lezioni.

I primi computer erano strumenti costosissimi, con macchine che occupavano intere stanze fatte di componenti elettromeccanici, come relè, bobine e condensatori. Era utilizzabile solo da tecnici specializzati (in camice bianco) perché non esisteva una vera interfaccia utente e veniva programmato tramite schede perforate o altri sistemi meccanici: veniva utilizzato quindi principalmente per scopi militari, finanziari e amministrativi da organizzazioni come governi, amministrazioni pubbliche e grandi banche. Solo negli anni 60, con la nascita dell’elettronica nasce una nuova generazione di computer, che cominciano ad essere più economici, e per la prima volta utilizzabili anche con terminali con tastiera e schermo, mentre venivano inventati i primi linguaggi di programmazione (Ada e Fortran) e soprattutto i sistemi operativi, in grado di semplificare la vita dei progettisti di programmi.

Il boom dell’informatica è però negli anni 70: grazie ad una nuova invenzione, il microprocessore (il primo fu l’Intel 4004, progettato dall’italiano Federico Faggin), il computer diventa usabile anche dalle aziende più piccole ed anche da singoli appassionati. Cominciano ad essere sviluppati computer sempre più piccoli, mentre nel frattempo viene sviluppata una rete di computer, ARPANet, che nasce come rete legata al mondo accademico e che negli anni 80 verrà rinominata come Internet. Grazie a queste innovazioni e l’aumento delle possibilità dell’informatica si sviluppano metodologie nuove di programmazione e progettazione, e viene inventata l'”ingegneria del software”, il sistema operativo Unix e le prime interfacce grafiche con mouse.

Con l’avvento dell’elettronica lo sviluppo di nuovi computer diventa davvero esplosivo, tanto che questa evoluzione è stata chiamata “legge di Moore” (dal fondatore della Intel, Gordon Moore) così all’inizio degli anni ’80 i computer entrano per la prima volta nelle case, tramite un nuovo tipo di computer, il personal computer (con prodotti storici come Atari, Commodore, Apple, e il PC IBM con il suo sistema operativo MS DOS della Microsoft). Negli anni ’90 i computer si dotano tutti di interfaccia grafica, siamo ormai nell’era di Windows. Anche Internet diventa di massa e la rete raggiunge le case. Tutti possono navigare in una nuova rete globale di informazione, chiamata World Wide Web, grazie al genio dell’informatico Tim Berners Lee ed il mondo diventa davvero unito.

Nei primi anni 2000 si diffondono i telefonini, ma è dal 2007, con la nascita del primo iPhone (grazie alla Apple di Steve Jobs), questi diventano piccoli computer che non solo telefonano, ma navigano su web, permettono di ascoltare musica, vedere video e fare foto. L’informatica non è più solo nelle case, ma ce la portiamo in tasca portandoci con questa tutta Internet.

Ai giorni nostri l’ultima innovazione è “l’intelligenza artificiale“, un sistema di applicazioni software in grado, grazie all’enorme potenza di calcolo e di memorizzazione dei computer moderni, di condurre conversazioni in linguaggio naturale, riconoscere oggetti da immagini e video, e generare contenuti artificiali plausibili senza bisogno di una programmazione formale.

Il futuro ci riserva molte innovazioni che vediamo all’orizzonte: l’integrazione delle interfacce automatiche e digitali con la nostra esperienza umana, la capacità di analizzare velocemente enormi quantità di dati dandoci strumenti predittivi e di classificazione, la capacità di creare mondi virtuali con l’obiettivo di semplificare l’accesso alla trasformazione digitale per miliardi di persone, ed infine la robotica, che insieme alle IA, permette alle macchine di svolgere compiti in modo autonomo ricevendo stimoli direttamente dall’ambiente circostante.

Restano però aperte grandi sfide tutt’oggi irrisolte: il digital divide che esclude miliardi di persone specie nel sud del mondo all’accesso all’informazione, il problema della privacy e della sicurezza dell’accesso alle informazioni, la riduzione proprio grazie alle intelligenze artificiali della nostra capacità di ragionare e pensare in modo critico senza l’ausilio di strumenti automatici, che peraltro sono percepiti erroneamente come infallibili, ed infine un cambiamento dell’industria e delle professionalità dovuto all’automazione robotica.

L’evoluzione dell’informatica, in conclusione, va quindi compresa come un cambiamento epocale per l’umanità, che non va però solo nella direzione di puro progresso, ma anche in un insieme di rischi di sicurezza e privacy, oltre a problematiche legate a disparità sociali, economiche e culturali. Conoscere la tecnologia e l’informatica quindi non significa accettarne passivamente le tecnologie ma comprenderne potenzialità e limiti.

Cosa significa essere un informatico

La principale attività che svolgono gli informatici è nella realizzazione di programmi per computer e tutte le attività a ciò correlate. E’ una attività complessa, perché richiede competenze matematiche, e scientifiche e coinvolge molti rami del sapere, scientifici, umanistici e psicologici.

L’informatica richiede una forte competenza sulla tecnologia del computer, ed ancora di più del fatto che la tecnologia avanza e ciò che si conosce oggi fra 10 anni sarà in parte già obsoleto, col risultato che non esistono in informatica competenze e saperi “di lunga durata”, ma è necessario per gli informatici restare al passo coi tempi.

Per realizzare programmi quindi un informatico deve avere competenze in tutte e tre le aree dell’informatica:

  • comprendere come organizzare i dati e le informazioni, come manipolarli con gli algoritmi, ed imparare a crearne di propri (la scienza dell’informatica);
  • conoscere le caratteristiche della programmazione e delle tecnologie correlate in modo da tradurre gli algoritmi in programmi che sfruttino le caratteristiche del computer e dell’informatica (la tecnologia della programmazione);
  • padroneggiare i linguaggi di programmazione, le tecniche di sviluppo, test e rilascio del software (la tecnica dello sviluppo).

Queste capacità si acquisiscono sia studiando la “teoria” (della scienza, della tecnologia e della tecnica) sia mettendola in “pratica” per consolidare le lezioni apprese con un riscontro effettivo. L’informatica non prevede quindi un apprendimento esclusivamente teorico: diventa pura erudizione senza riscontro in una effettiva applicazione, una attività puramente accademica senza riscontri nel mondo reale. Allo stesso tempo l’informatica non può essere considerata nemmeno esclusivamente pratica: un programmatore senza una capacità di comprensione anche dei concetti resta uno smanettone dilettante, in grado di risolvere solo specifici problemi su cui ha effettivamente fatto pratica, ma senza la capacità di generalizzare e capire realmente problemi che non ha mai visto.

L’obiettivo di un informatico è quindi quello da una parte di essere sempre al passo dello sviluppo di questa disciplina, e di farlo tramite un apprendimento combinato, sia concettuale che laboratoriale, al fine di ottenere un apprendimento duraturo, significativo ed efficace.