Linguaggi di programmazione

dibari.92 2,922 views 2 slides Feb 04, 2009
Slide 1
Slide 1 of 2
Slide 1
1
Slide 2
2

About This Presentation

Questa è un'altra spiegazione più semplice e diretta del concetto di linguaggio di programmazione e della differenza che c'è tra compilatore ed interprete.


Slide Content

Cos'è un linguaggio di programmazione?
In parole molto semplici, possiamo dire che un linguaggio di programmazione (come il C++) è uno
strumento per controllare il computer, facendogli eseguire determinati compiti.
Come ogni linguaggio che si rispetti, è necessario che siano definiti due elementi essenziali: un
lessico e una sintassi. In un linguaggio naturale, il lessico è l'insieme delle parole che possiamo
trovare in un vocabolario, ciascuna con il suo significato. La sintassi è il modo di mettere assieme le
parole per costruire una frase.
Ad esempio, se dovessi chiedere a Giorgio di passarmi la mela che è sul tavolo, e mi mancasse una
parte del lessico, ne uscirebbe qualcosa del genere:
"Giorgio, dammi la cosa che è sul coso"
Se invece mi mancasse solo la sintassi, riuscirei a spaventare il povero Giorgio dicendogli:
"Mela la Giorgio tavolo che sul dammi è"
(con un risultato ancora peggiore)
In un linguaggio di programmazione esistono delle precise parole del lessico (chiamate istruzioni) e
una precisa sintassi. In C++, ad esempio, per far scrivere la frase "Ciao a tutti" sullo schermo si usa
l'istruzione printf che deve essere usata in questo modo:
printf ( "Ciao a tutti");
Se scrivessi invece:
("Ciao a tutti");printf
Il computer si rifiuterebbe di eseguire, mostrandoci un messaggio di errore sintattico.
Allo stesso modo, il computer si rifiuterebbe di lavorare se proviamo a istruirlo in questo modo:
scrivi( "Ciao a tutti");
Infatti "lui" non conosce la parola "scrivi". La sintassi andrebbe anche bene, ma qui si tratta di un
errore lessicale.
Esiste solo il C++?
Ovviamente no. Ecco i nomi di alcuni famosi linguaggi di programmazione:
Pascal (utilizzato soprattutto nella didattica dell'informatica)
C++ (uno dei più utilizzati dai professionisti)
Java (linguaggio utilizzato nella rete Internet, è un dialetto semplificato del C++)
Javascript (sottoinsieme di istruzioni simili al Java, adatto alle pagine web)
Prolog (linguaggio di "programmazione logica")
Lisp, Logo, Perl, PHP, ecc..

L'elenco sarebbe lunghissimo è comunque interessante sapere che, a parte qualche rara eccezione
come il Prolog, tutti i linguaggi di programmazione si basano su strutture molto simili. Imparare uno
dei linguaggi significa avere le chiavi per impararli tutti.
Linguaggi interpretati e linguaggi compilati
I linguaggi di programmazione tendono ad assomigliare ai linguaggi naturali (quelli usati dall'uomo)
proprio per rendere più facile la programmazione del computer. Il computer invece "capisce" un suo
linguaggio fatto esclusivamente da numeri, anzi, da sequenze di cifre binarie 1 e 0.
Questo linguaggio binario si chiama "linguaggio macchina" e all'uomo risulterebbe difficilissimo da
imparare.
10010111011100011101110010110001001111110010111101000101
facile no?
I primi computer, si basavano esclusivamente sul linguaggio macchina e il loro schermo era un
piccolo led che mostrava dei "pacchetti" di cifre binarie. Il programmatore utilizzava una tabella che
serviva per tradurre i comandi nella serie corrispondente di cifre binarie da inserire. Un lavoraccio da
certosini. E bastava sbagliare una cifra per mettere in crisi tutto il sistema. I giochini per computer
non se li immaginavano nemmeno!
Fortunatamente, oggi esistono dei programmi che fanno da traduttori automatici, cioè che traducono
un linguaggio ad alto livello come il C++ nella sequenza di 1 e 0 del linguaggio macchina.
1) Linguaggi compilati
Linguaggi come il Pascal o il C++ utilizzano dei programmi compilatori: tutto il listato viene
prima controllato nel lessico e nella sintassi, tradotto e trasformato in un file eseguibile (con
estensione .exe nei sistemi Windows) contenente il codice del linguaggio macchina. Soltanto alla
fine di queste operazioni si può inviare il file al computer per l'esecuzione.
I linguaggi compilati sono più efficienti di quelli interpretati. Inoltre il file eseguibile diventa
indipendente dal listato che lo ha prodotto, e può essere eseguito anche senza il programma
interprete.
2)Linguaggi interpretati
Altri linguaggi (come il Qbasic) utilizzano invece dei programmi interpreti. Esso "legge" riga
per riga il listato che noi scriviamo, ne controlla il lessico e la sintassi e traduce in linguaggio
macchina. Infine lo fa eseguire al computer. Questa sequenza di operazioni si ripete per ogni
riga del listato:
a)lettura di una riga;
b)controllo di lessico e sintassi;
c)traduzione;
d)esecuzione.
(Tratto da: http://www.vettorpisani.net/forum-scuola/qbasic/linguaggio.htm)