Dal problema alla risposta – 2

Compilatore

Tra il programma e l’esecutore, compaiono il file sorgente e il file oggetto.

problema1

Il programmatore utilizza

  • l’editor per scrivere il file sorgente
  • il compilatore per tradurre da alto livello a basso livello e produrre il file oggetto.

Il compilatore produce un file oggetto compatibile con una certa piattaforma.
Linguaggi di programmazione compilati: C/C++, COBOL, FORTRAN, Pascal, …

Nella realtà della programmazione si utilizzano molti altri strumenti (interprete, linker, debugger, IDE, RAD, …)

Il linker

In alcuni casi il file oggetto non è ancora pronto per essere eseguito perché deve essere integrato con delle librerie di codice precompilate.

problema

Dopo il passaggio del linker si ottiene finalmente il file eseguibile.

L’interprete

L’interprete è un software eseguito dall’esecutore reale che emula il comportamento di un esecutore virtuale.
L’interprete scorre il programma, legge, traduce ed esegue (tramite l’esecutore reale) la singola istruzione.

problema21

Linguaggi di programmazione interpretati: BASIC, Javascript, LISP, PHP, Python, …

La macchina virtuale

La tecnica della macchina virtuale ha permesso la diffusione di applicazioni eseguibili su tutte le piattaforme.

problema12

Si produce un unico file oggetto (bytecode) che viene eseguito dalla macchina virtuale (plug-in, player, …) installata sulla piattaforma

  • Flash player: Actionscript
  • Java Virtual Machine: Java