User Tools

Site Tools


appunti3s:interpretati_e_compilati

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

appunti3s:interpretati_e_compilati [2018/04/25 07:55]
appunti3s:interpretati_e_compilati [2020/06/08 22:19] (current)
Line 1: Line 1:
 +====== Linguaggi compilati ed interpretati ======
 +===== Il file sorgente =====
 +Il programmatore indica le istruzioni da eseguire usando uno specifico linguaggio. 
 +Le scrive dentro dei file di testo, detto anche file sorgente (source), ma di solito non usa l'estensione .txt. Ad esempio:
 +  * se scrive in linguaggio C++ potrebbe usare per i file di testo l'estensione .cpp
 +  * se scrive in linguaggio Python potrebbe usare l'estensione .py
 +  * se scrive in linguaggio Javascript potrebbe usare l'estensione .js
 +  * ecc.
 +
 +Le istruzioni, però, dovranno essere eseguite dalla CPU che comprende solo un linguaggio numerico (detto anche linguaggio macchina) dove ogni numero corrisponde ad una diversa istruzione da eseguire.
 +
 +===== La traduzione =====
 +
 +La traduzione da linguaggio di programmazione al linguaggio macchina può essere fatta in due modi diversi:
 +  * usando un compilatore: un programma che converte il file sorgente in un file eseguibile (un vero programma, .exe);
 +  * usando un interprete: un programma che legge le istruzioni nel file sorgente e le traduce una alla volta alla CPU.
 +Sia il compilatore che l'interprete sono a loro volta dei programmi fatti per questi compiti.
 +
 +Nei linguaggi compilati, come il C++ o il Pascal, una volta tradotto, il file sorgente diventa inutile. Si esegue solo il file eseguibile (.exe). 
 +Nei linguaggi interpretati, come il Python o il Javascript, viene eseguito direttamente il file sorgente, ma per farlo, ogni volta è necessario usare l'interprete che deve ripeterne la traduzione. Questo rende un po' meno efficiente l'esecuzione, ma può offrire altri vantaggi.
 +===== Esempio in javascript =====
 +<code html pagina.html>
 +<html>
 + <head>
 + <script type="text/javascript">
 + function miafunzione()
 + {
 + var name=prompt("Scrivi il tuo nome","Mario");
 + if (name!=null && name!="")
 + {
 + document.write("<h1>Ciao " + name + "! </h1>");
 + }
 + }
 + </script>
 + </head>
 +
 + <body onload="miafunzione()">
 +
 + </body>
 +
 +</html>
 +</code>