Interprete o compilatore?

Quando si parla di linguaggi di programmazione non si può non pensare alle due modalità che, in passato, erano quelle più utilizzate:

  1. modalità interprete: le istruzioni vengono lette, convertite ed eseguite una alla volta
  2. modalità compilatore: le istruzioni vengono lette tutte insieme, vengono controllate, vengono convertite solo se non sono presenti errori e poi eseguite

Queste due modalità hanno i loro pro e contro, ad esempio:

nella modalità interprete l’utente

  • ha l’impressione (sbagliata) che il programma sia più veloce perché il tempo necessario per leggere una istruzione è molto più breve del tempo necessario per leggerle tutte ma
  • può incontrare un errore durante lo svolgimento di un programma (che smetterebbe di funzionare) perché le istruzioni vengono lette man mano che vengono eseguite
  • ogni volta che esegue una seconda, terza volta lo stesso programma, dovrà sempre convertire le singole istruzioni che erano state già convertite la volta precedente

nella modalità compilatore, invece:

  • il programma verrà eseguito solo dopo aver letto tutte le istruzioni e aver verificato che non siano presenti errori
  • il codice convertito in codice eseguibile viene conservato nel caso si desiderasse eseguire nuovamente il programma
  • l’esecuzione risulta più lenta la prima volta (per i motivi spiegati ai punti precedenti) ma risulterà molto più veloce le successive