Programma è un termine di origini antiche che vuol dire "scrivere prima".
Questa è infatti l'attività del programmatore: organizzare e pianificare una sequenza di operazioni.
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.
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.
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
Siamo tutti programmatori
Programmiamo la lavatrice;programmiamo la sveglia sullo smartphone;
programmiamo un appuntamento;
programmiamo le vacanze;
programmiamo il termostato.
il linguaggio e l'interfaccia di programmazione sono differenti, ma entrambi hanno lo stesso scopo: controllare un processo.
Si intende una serie di attività da svolgere nell'arco della giornata.
L'evento sottinteso che darà l'avvio é l'inizio del giorno.
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.il basso livello o linguaggio macchina sarà scritto col linguaggio del microprocessore; l'alto livello sarà simile al linguaggio umano, ma spesso in inglese.
in ordine temporale, dopo l'accensione, interverranno:
tanto complicato sarà per noi umani programmare il BIOS nel linguaggio macchina, quanto sarà difficile per il processore capire quello che vogliamo fargli fare.
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