Fondamentalmente, tutti i linguaggi di scripting sono linguaggi di programmazione. La differenza teorica tra i due è che i linguaggi di scripting non richiedono la fase di compilazione e sono piuttosto interpretati. Per esempio, normalmente, un programma C ha bisogno di essere compilato prima di essere eseguito mentre normalmente, un linguaggio di scripting come JavaScript o PHP non ha bisogno di essere compilato.
Generalmente, i programmi compilati girano più velocemente dei programmi interpretati perché sono prima convertiti in codice macchina nativo. Inoltre, i compilatori leggono e analizzano il codice solo una volta, e riportano collettivamente gli errori che il codice potrebbe avere, ma l’interprete leggerà e analizzerà le dichiarazioni del codice ogni volta che le incontra e si ferma proprio in quel momento se c’è qualche errore. In pratica, la distinzione tra i due è sempre meno chiara a causa delle migliori capacità di calcolo dell’hardware moderno e delle pratiche di codifica avanzate.
Un altro punto da notare è che mentre si classifica un linguaggio come linguaggio di scripting o linguaggio di programmazione, si deve prendere in considerazione l’ambiente in cui verrebbe eseguito. La ragione per cui questo è importante è che possiamo progettare un interprete per il linguaggio C e usarlo come un linguaggio di scripting, e allo stesso tempo, possiamo progettare un compilatore per JavaScript e usarlo come un linguaggio non di scripting (compilato). Un esempio concreto di questo è V8, il motore JavaScript di Google Chrome, che compila il codice JavaScript in codice macchina, piuttosto che interpretarlo.
Alcuni linguaggi di scripting tradizionalmente usati senza una fase di compilazione esplicita sono JavaScript, PHP, Python, VBScript.
Alcuni linguaggi di programmazione tradizionalmente usati con una fase di compilazione esplicita sono C, C++.
Applicazioni dei linguaggi di scripting :
1. Per automatizzare certi compiti in un programma
2. Estrarre informazioni da un set di dati
3. Meno codice intensivo rispetto ai linguaggi di programmazione tradizionali
Applicazioni dei linguaggi di programmazione :
1. Di solito vengono eseguiti all’interno di un programma padre come gli script
2. Più compatibile con l’integrazione di codice con modelli matematici
3. Linguaggi come JAVA possono essere compilati e poi usati su qualsiasi piattaforma