"Veloce e immediato" un tubo, per eseguire un programma interpretato il sistema deve prima caricare un programma compilato (l'interprete), che spesso è di dimensioni non indifferenti, il quale si occuperà, poi di interpretare il codice. Un eseguibile compilato, invece, è codice eseguibile quasi direttamente dal processore, per cui il tempo di avvio è quasi immediato.Originariamente inviato da signoresignori
Io al massimo sarei portato a pensare il contrario essendo l'approccio interpretato piu veloce e immediato.
I "quasi" della frase precedente si riferiscono al fatto che comunque gli eseguibili non sono codice caricabile ed eseguibile in memoria "al volo", ma prima di poterli eseguire il sistema operativo deve mapparli in memoria, creare uno stack per il thread principale del processo, caricare le dll a cui fanno riferimento (se sono tante l'operazione può richiedere del tempo, specie se vanno rilocate in memoria), sistemare tutti gli RVA con i valori effettivi in memoria, inizializzare la IAT ed effettuare una serie di altre operazioni di inizializzazione (quelle citate sono riferite in particolare agli eseguibili PE Windows, ma operazioni analoghe si applicano agli eseguibili di quasi tutte le piattaforme). Esse naturalmente sono necessarie anche per l'interprete di un linguaggio interpretato, che spesso poi è un programma particolarmente grosso (più tempo per caricare in memoria l'eseguibile).
Quanto poi a tempo di esecuzione, la questione non è semplicissima. Un linguaggio compilato è generalmente più veloce (se il compilatore è ben fatto), anche se un interprete particolarmente furbo può in alcuni casi avvantaggiarsi della conoscenza dello stato attuale del programma (di cui il compilatore, al momento di compilare, ovviamente non può sapere nulla) per ottimizzare l'esecuzione.