Approfondiamo un po’ parlando di codici, linguaggi e interpreti

Se dobbiamo fare un viaggio e abbiamo deciso di usare l’auto, che cosa ci serve? Fondamentalmente due cose: l’auto e un programma di viaggio.
Per prima cosa dobbiamo avere un’auto e saperla guidare, ma è altrettanto importante l’organizzazione del viaggio: decidere il percorso da seguire, raccogliere le informazioni necessarie, stabilire le tappe da fare, etc.
Insomma, l’auto ci serve ben poco senza un programma di viaggio.
Così è per il calcolatore, che ha bisogno dei programmi per funzionare.

PROGRAMMARE UN COMPUTER
è l’arte di far fare a un computer ciò che vogliamo

In pratica consiste nel dare al computer, secondo un certo ordine, delle istruzioni che ci consentano di raggiungere il nostro obiettivo.
Il programma è semplicemente la sequenza di istruzioni che dicono al computer come fare un certo lavoro.

Per prima cosa dobbiamo saper accendere il computer e “dialogare” con lui, in modo da riuscire a comunicargli alcune istruzioni e a fargliele eseguire correttamente.
Successivamente dovremo usare una “lingua” per comunicare con il computer, proprio come facciamo per parlare con un amico.
Purtroppo l’unica lingua che il computer capisce è chiamata “codice binario”.
Questo codice, molto difficile da leggere e da scrivere per gli esseri umani, è invece molto facile per i circuiti elettronici del calcolatore che devono distinguere solo due simboli:

 

0 1

I programmatori dei primi computer dovevano scrivere il programma utilizzando un complicato linguaggio macchina di tipo binario, operazione che ancora oggi viene chiamata programmazione in linguaggio macchina e che è incredibilmente difficoltosa.

Per semplificare le cose sono stati creati dei linguaggi intermedi che stanno a metà strada tra il linguaggio macchina e il linguaggio degli uomini, detti linguaggi di programmazione di alto livello.
Sono più facili da imparare e da usare, ma sono estremamente precisi, com’è necessario che sia, affinché il computer li possa interpretare in modo corretto.
Insieme ai linguaggi di programmazione intermedi sono stati sviluppati programmi per la traduzione dal linguaggio di alto livello al linguaggio macchina. Questi ultimi convertono semplicemente parole inglesi equivalenti al codice binario in binario, in modo che invece di dover ricordare complicate sequenze di 0 e di 1, i programmatori possano scrivere le istruzioni usando parole della lingua inglese.

Per programmare con il computer è necessario usare un linguaggio intermedio che viene poi tradotto in un programma di basso livello (cioè in binario) da un opportuno “programma traduttore” in modo che diventi
comprensibile al computer.
I traduttori si dividono in due categorie: i compilatori e gli interpreti.
Il compilatore: legge il programma di alto livello e lo traduce tutto in linguaggio macchina, prima che il programma possa essere eseguito. In questo caso il programma di alto livello viene chiamato codice sorgente ed il programma tradotto codice oggetto.
L’interprete: legge il programma di alto livello e lo esegue trasformando ogni riga di istruzione in un’azione. L’interprete elabora il programma un po’ alla volta, alternando la lettura delle istruzioni all’esecuzione dei comandi che le istruzioni descrivono.
Il programma che traduce il linguaggio intermedio (di alto livello) in binario si chiama proprio INTERPRETE.

Con il tempo gli esperti di informatica hanno sviluppato linguaggi per il computer di livello sempre più alto, più vicini al modo di parlare e ragionare degli esseri umani che non a quello delle macchine.
Python è il nome del linguaggio intermedio che abbiamo scelto per parlare con il computer e che ci aiuterà a impartire ordini e istruzioni per fargli svolgere i compiti che noi gli assegneremo.
Python è considerato un linguaggio interpretato perché i programmi scritti in Python sono eseguiti da un interprete.
Comunque, dal nostro punto di vista, questo non fa alcuna differenza:
noi scriviamo il codice sorgente ed utilizziamo uno strumento che si chiama Python per consentire al computer di leggerlo ed eseguirlo.

Non lasciamoci intimidire da quanto detto fin qui.
Un programma per computer è semplicemente un insieme di istruzioni che indicano al computer come eseguire un particolare compito. Le istruzioni che abbiamo scritto precedentemente possono già essere considerate dei primi semplici programmi per computer.
Il programma più semplice che viene preso come esempio è:

print "Ciao amici"

Quando viene eseguito dal computer vi saluta con un:

Ciao amici

Possiamo paragonare il programma ad una ricetta di cucina: un insieme di istruzioni per indicare a un cuoco come cucinare un piatto.
Una ricetta descrive gli ingredienti (i dati) e la sequenza di istruzioni (il procedimento) necessari, ad esempio, per fare una frittata:

Ingredienti

Una noce di burro

Un uovo

Sale

Frittata

Metti il burro nella padella,
quando il burro frigge
aggiungi l’uovo sbattuto,
cuoci a fuoco lento per cinque
minuti circa e poi gira la
frittata,
cuoci altri cinque minuti
aggiungi un pizzico di sale.

I programmi sono concettualmente assai simili alle ricette.
Per prima cosa bisogna avere le idee chiare su cosa si vuol fare (ad esempio…una frittata), poi si scompongono tutte le operazioni necessarie per fare quella cosa in tanti piccoli passi logici ovvero in una sequenza di istruzioni, in modo che il computer le possa interpretare senza sbagliare.
Ognuna di queste sequenze è un programma.

Programma
la sequenza delle istruzioni, ossia degli ordini che dicono al calcolatore come deve operare

Il programma è l’elemento importante, fondamentale che distingue il computer dalla calcolatrice.
Nella calcolatrice l’operatore introduce i dati sui quali deve essere eseguita un’operazione, poi ne ordina l’esecuzione, infine legge il risultato e se deve ricordare più dati è costretto ad usare la sua memoria. Inoltre l’intervento dell’operatore fra un’operazione e l’altra limita la velocità complessiva del calcolo.
Nel computer il programma rende automatico il procedimento di risoluzione del problema. È sufficiente dare al computer la giusta sequenza di istruzioni, IL PROGRAMMA, e poi sarà lui ad eseguire fedelmente le nostre istruzioni.