BREAKING NEWS
GMT+2 07:42

Linguaggi di programmazione

L’esempio del programma per il disegno della spirale è scritto in italiano. In realtà i veri programmi sono scritti in linguaggi particolari, detti linguaggi di programmazione. Qui sotto è mostrato un semplice esempio di programma per il calcolo del valore medio fra una serie di numeri positivi:

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
double num, tot, media;
int n;

cout<<“Inserire un numero negativo per terminare il ciclo\n”;
num=0;
tot=0;

for (n=0 ; num>=0 ;n++)
{
tot = tot + num;
cout<<“Fornisci un numero: “;
cin>>num;
}    media = tot/n;

cout<<“La media è “<<media<<“\n”;

system(“PAUSE”);
return EXIT_SUCCESS;
}

Il programma precedente è scritto in un linguaggio di programmazione che si chiama C++. Come suggerisce il nome, un linguaggio di programmazione non è altro che un linguaggio per scrivere programmi.

Esistono molti diversi linguaggi di programmazione, alcuni dei quali trattati in maggiore dettagli in altre sezioni di questo stesso sito (es. Visualbasic, C++, Javascript, Php). Ciò che hanno in comune tutti i linguaggi di programmazione è il fatto di essere superficialmente simili alla lingua inglese (si notino per esempio nel precedente programma le istruzioni double, for, using…): si tratta tuttavia di un inglese davvero molto limitato e molto rigido nelle regole di sintassi. In sostanza i linguaggi di programmazione forniscono un modo con cui il programmatore può comunicare col computer.

Codice sorgente e codice eseguibile

Il programma scritto in un linguaggio di programmazione viene detto codice sorgente.

In realtà il codice sorgente non è immediatamente decodificabile dal computer. Prima di poter essere eseguito esso deve essere tradotto in un codice eseguibile scritto in binario (cioè fatto di sequenze di 0 e di 1, come già abbiamo visto) che il microprocessore è in grado di interpretare. In un computer tutto è rappresentato da numeri binari, dunque anche i programmi (eseguibili).

Questa traduzione da linguaggio di programmazione a codice binario in termine tecnico si chiama compilazione e viene eseguita da un programma detto compilatore. In pratica esistono almeno tanti compilatori quanti sono i linguaggi di programmazione disponibili (in realtà ne esistono molti di più):

E’ interessante notare che anche il compilatore è un programma, scritto in un qualche linguaggio di programmazione e poi tradotto nel codice eseguibile del microprocessore. Evidentemente i primi compilatori (nati negli anni ’50 del secolo scorso) erano stati scritti in linguaggio binario, ma da allora questa faticosa operazione non è più necessaria.

Ci sono un paio di osservazioni davvero importanti a proposito del codice sorgente, della compilazione e del codice eseguibile:

  • l’utente finale non ha bisogno di conoscere il sorgente di un programma, ma solo il codice eseguibile (facendo una semplice analogia, l’acquirente di un’auto non ha bisogno degli schemi di progetto dell’automobile);
  • la traduzione da sorgente ad eseguibile può essere svolta in modo abbastanza semplice ed automatico per mezzo di un compilatore;
  • la traduzione inversa da eseguibile a sorgente (detta reverse engineering) è invece molto difficile e in molti casi praticamente impossibile.

Si noti che normalmente l’utente finale riceve solo il codice eseguibile e non può da questo ricostruire il codice sorgente. Di conseguenza l’utente si trova normalmente nell’impossibilità di modificare un programma. Lo può soltanto eseguire.

2014 Powered By Wordpress, Goodnews Theme By Momizat Team