I programmi informatici
Cos'è un programma?
Un programma è una serie di istruzioni scritte in un particolare linguaggio.
Il significato è molto semplice e intuitivo, perché nella vita quotidiana siamo abituati a utilizzarli utilizzando il linguaggio naturale.
Esempio 1
Ad esempio quando devo dare delle indicazioni stradali a una persona.
- Vai dritto fino a piazza Roma
- Se non c'è il mercato gira a sinistra su via Torino
- altrimenti gira a destra su via Milano
Ecco, questo è un programma.
Chiunque conosca l'italiano può leggerlo, capirlo ed eseguirlo.
Esempio 2
Un altro semplice esempio di programma è una ricetta di cucina:
- Riempi d'acqua la pentola
- Aggiungi un cucchiaio di sale
- Metti la pentola sul fornello finché l'acqua bolle
- Getta la pasta nella pentola
- Fai cuocere per 5 minuti
Cosa c'entrano questi esempi con i programmi informatici?
Una volta chiarito il significato generale di programma, è più semplice spiegare il funzionamento di un programma informatico.
Cos'è il programma informatico
I computer non sono in grado di comprendere il linguaggio naturale dell'uomo.
Il linguaggio dei computer è il linguaggio macchina.
Cos'è il linguaggio macchina? E' un codice composto da una serie di istruzioni rappresentate in linguaggio binario, tramite bit o byte, ossia tramite una serie di 0 e 1.
Per un uomo è però difficile programmare direttamente in linguaggio macchina.
I primi programmatori utilizzavano anche un linguaggio interprete detto Assembly.
MOV AL,61h
MOV CL,3h
MOV DL,7h
L'assembly aveva però un problema, era legato all'architettura hardware del processore del computer. Quindi, un programma scritto in assembly per una tipologia di processore ( es. X86 ) non funzionava anche su un altro con architettura differente.
Per consentire all'uomo di programmare i computer più facilmente sono nati i linguaggi di programmazione ad alto livello.
Cos'è un linguaggio di programmazione? Un linguaggio di programmazione ad alto livello è una via di mezzo tra il linguaggio dell'uomo e quello del computer. E' molto più leggibile e intuitivo rispetto all'assembler ed è più semplice da scrivere per un uomo. Ha una propria sintassi e regole di costruzione ( es. Java, C, Python, Basic, Php, ecc. ).
Una volta stilato il programma in un linguaggio di programmazione, il computer riesce a capirlo ed eseguirlo.
Ecco l'esempio precedente scritto in un linguaggio di programmazione.
vai = "piazza Roma"
if (mercato=false) vai = "via Torino"
else vai = "via Milano"
Come funziona un programma informatico?
I programmi informatici sono scritti su comuni file di testo ( codice sorgente ).
Possono essere interpretati direttamente dal computer o trasformati in linguaggio macchina tramite un compilatore.
La compilazione crea un altro file ( codice oggetto ) direttamente eseguibile dal computer. Ad esempio, un file .exe.
Quindi, il file sorgente e il file eseguibile sono due files ben distinti tra loro.
E per modificare il programma? Per apportare variazioni al programma, il programmatore modifica il file di testo del codice sorgente. Poi lo compila nuovamente per creare un altro file oggetto che sostituisce il precedente. E' molto semplice.
Per saperne di più sulla differenza tra linguaggi interpretati e compilati, consiglio di leggere i miei appunti sull'introduzione alla programmazione.