Sviluppo InformaticoTecnologia

Differenza tra programma Compilato e programma Interpretato

Ogni programma esistente è stato sviluppato scrivendo un codice sorgente in un linguaggio di programmazione specifico. Esistono diversi linguaggi di programmazione, ognuno dei quali è più o meno adatto per scrivere determinati tipi di programmi o per svolgere determinate funzioni.

Sapere scegliere il giusto linguaggio di programmazione, quindi, influisce sulle prestazioni del linguaggio stesso e sulla qualità del risultato finale. Per un programmatore è quindi molto importante conoscere le differenze tra i diversi linguaggi. In questo articolo, ci occuperemo di una differenza fondamentale: quella tra linguaggi (e quindi programmi) compilati e linguaggi interpretati.

Linguaggi compilati: cosa sono?

In un linguaggio compilato, un compilatore legge il codice sorgente e lo traduce in un linguaggio macchina generando quindi un programma oggetto. Cosa significa tutto questo? Significa che il programmatore lavora in questo modo:

  1. Scrive il codice sorgente in un editor;
  2. Controlla il codice e verifica che non ci siano errori – se ci sono, li corregge;
  3. Il codice viene infine compilato: ogni istruzione viene tradotta in linguaggio macchina, quello che può essere eseguito dal processore.

Le fasi del processo di compilazione sono le seguenti:

  • Processing: in questa fase il compilatore esegue operazioni di editing automatiche e inclusione di file;
  • Scanning, o analisi lessicale: il compilatore verifica gli indicatori, i simboli, e le regole di aggregazione;
  • Parsing, o analisi sintattica: il compilatore verifica la correttezza del concatenamento delle parole. In questa fase le operazioni vengono riordinate in una struttura gerarchica.
  • Analisi semantica: il compilatore determina la compatibilità dei parametri e dei tipi delle funzioni.

Il principale vantaggio dei linguaggi compilati è quello di offrire prestazioni migliori. Esempi di linguaggi compilati sono C, C++, Delphi, e Visual Basic.

Linguaggi interpretati: cosa sono?

I linguaggi interpretati non passano, invece, attraverso la fase di compilazione. Vengono quindi letti e interpretati al volo, così come scritti nel codice sorgente, istruzione per istruzione. Il programma viene quindi tradotto sequenzialmente: ogni istruzione viene tradotta ed eseguita prima di passare alla successiva.

Il principale vantaggio dei linguaggi interpretati è la velocità di traduzione; tuttavia, su esecuzioni ricorrenti i linguaggi interpretati si rivelano più lenti di quelli compilati. Inoltre, i linguaggi interpretati richiedono un lavoro maggiore da parte del processore.

Un esempio di linguaggio interpretato è PHP il cui codice viene elaborato restituendo una pagina HTML.

Java: un linguaggio intermedio

Non abbiamo citato nei nostri esempi uno dei linguaggi più conosciuti: Java. E’ un linguaggio compilato o interpretato?

Java è un esempio di linguaggio che sta a metà strada tra le due tecnologie: il codice sorgente viene infatti prima compilato, ma viene tradotto in un formato intermedio, il quale viene poi interpretato dalla Java Virtual Machine che ha proprio questa funzione.

La distinzione tra linguaggi compilati e interpretati è fondamentale: ora che sai quali sono le differenze e i relativi vantaggi, saprai meglio scegliere tra le due alternative.

LINK UTILI

Altro su Social Network: https://www.developersumo.com/category/social-network/
Altro su Instagram: https://www.developersumo.com/tag/instagram/
Pagina Instagram: https://www.instagram.com/developer_sumo/
App su Play Store: https://play.google.com/store/apps/developer?id=Developer+Sumo

What's your reaction?

Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0

You may also like

Leave a reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *