Diventare un programmatore informatico

di Giorgio Davanzo
Programma è un termine di origini antiche che vuol dire "scrivere prima".

Questa è infatti l'attività del programmatore: organizzare e pianificare una sequenza di operazioni. Programmazione informatica

Siamo tutti programmatori

Programmiamo la lavatrice;
programmiamo la sveglia sullo smartphone;
programmiamo un appuntamento;
programmiamo le vacanze;
programmiamo il termostato.


Programmare un termostato o realizzare un gestionale sono infatti concettualmente lo stesso tipo di attività;
il linguaggio e l'interfaccia di programmazione sono differenti, ma entrambi hanno lo stesso scopo: controllare un processo.

La sequenza di operazioni di un programma è quasi sempre condizionata da uno o più eventi.

Esempio: il programma del giorno.
Si intende una serie di attività da svolgere nell'arco della giornata.
L'evento sottinteso che darà l'avvio é l'inizio del giorno.


Un programma elettorale diventa operativo a partire dalla realizzazione della condizione d'essere eletti.


Eventi informatici Gli eventi possono essere di diverso genere:
il suono di una sveglia risponde ad un evento di origine temporale (allo scoccare delle 08:30);
un termostato aziona la caldaia in base ad un programma da noi impostato in combinazione con il valore di temperatura rilevato da un sensore.
Noi impostiamo i gradi centigradi per un dato orario e la caldaia viene attivata fino al raggiungimento della temperatura.

Programmazione informatica

In campo elettronico/informatico i programmi sono spesso stratificati intorno al processore e sviluppati in linguaggi differenti.

Un personal computer per la sua complessità rappresenta un ottimo esempio di elettronica programmabile a più livelli:
il basso livello o linguaggio macchina sarà scritto col linguaggio del microprocessore; l'alto livello sarà simile al linguaggio umano, ma spesso in inglese.


Analizziamo il software di un pc;
in ordine temporale, dopo l'accensione, interverranno:

1 . il boot loader che permette di scegliere l'unità da cui leggere i dati oppure fare aggiornamenti di sistema.

2 . il firmware o BIOS o UEFI: programmi scritti in linguaggio macchina (quello più comprensibile dal microprocessore) che organizza tutti i componenti della scheda madre. N.B.: schede con componenti diversi avranno firmware configurato diversamente.

3 . il Sistema Operativo che appoggiandosi al firmware interfaccia l'utente al pc, dandogli la possibilità di configurare la macchina in modo più o meno semplice ed intuitivo, di aggiungere e gestire periferiche esterne.

4 . le applicazioni permettono all'utente di leggere e scrivere, comunicare, azionare periferiche, etc..

Questo ordine rappresenta anche la distanza tra il microprocessore e noi operatori;
tanto complicato sarà per noi umani programmare il BIOS nel linguaggio macchina, quanto sarà difficile per il processore capire quello che vogliamo fargli fare.

Grazie a questi "programmi interpreti" è possibile interagire col sistema che semplificando potrà essere rappresentato da una scatola chiusa con degli ingressi e uscite (I/O - Input/Output).

All'interno la logica programmata elaborerà gli ingressi e comanderà le uscite.

Generalmente in un pc gli ingressi o periferiche di input sono: tastiera, mouse, webcam, microfono, scanner, etc...;
i dispositivi di uscita o periferiche di output sono: display, altoparlanti, stampante, etc...

Ora andiamo a vedere cosa possiamo far fare ad un programma informatico