Uno script o linguaggio di scripting è un linguaggio informatico che non necessita della fase di compilazione e viene invece interpretato uno per uno in fase di runtime. È dove viene scritto lo script e dove vengono scritte le istruzioni per un ambiente runtime. A differenza dei linguaggi di programmazione che vengono compilati prima dell'esecuzione, i linguaggi di scripting non compilano il file ed eseguono il file senza essere compilati.
Al giorno d'oggi gli script vengono spesso utilizzati per creare applicazioni web dinamiche perché sono collegati allo sviluppo web. I linguaggi di scripting lato server e i linguaggi di scripting lato client sono i due tipi di linguaggi di scripting. Python, PHP e Perl sono esempi di linguaggi di scripting lato server, mentre JavaScript è il più grande esempio di linguaggio di scripting lato client. Questi linguaggi sono spesso sviluppati con l'obiettivo di comunicare con altri linguaggi di programmazione.
Sono disponibili più linguaggi di scripting, alcuni sono i seguenti:
Applicazione dei linguaggi di scripting
Esistono diverse aree in cui vengono utilizzati i linguaggi di scripting:
- I linguaggi di scripting vengono utilizzati sia lato server che lato client e sono ampiamente utilizzati anche nelle applicazioni web. Linguaggi come JavaScript, Python, PHP e Perl sono esempi di linguaggi di scripting lato server e JavaScript, jQuery, AJAX sono esempi di linguaggi di scripting lato client.
- Come gli script Python, Perl, Shell sono tutti i linguaggi di scripting utilizzati nell'amministrazione del sistema.
- Viene utilizzato per costruire plugin ed estensioni per le applicazioni attuali, nonché nei giochi e nei contenuti multimediali.
Vantaggi dei linguaggi di scripting
Di seguito sono riportati anche alcuni altri punti chiave dei vantaggi dei linguaggi di scripting:
- Può essere facilmente trasferito tra diversi sistemi operativi.
- Esegue direttamente i file senza necessità di compilazione, ma a volte può essere richiesta la compilazione quando necessario.
- È una piattaforma open source che consente agli utenti di visualizzare e modificare lo script quando richiesto.
- Rispetto ad un programma vero e proprio, è molto più veloce da sviluppare.
Svantaggi dei linguaggi di scripting
- Consente agli utenti di visualizzare e codificare operazioni che potrebbero essere vietate da alcune aziende.
- Questi linguaggi non compilano il file e lo interpretano direttamente, pertanto è necessario che gli utenti installino un interprete o un programma separato prima di eseguire lo script.
- Rispetto ad un programma compilato, i linguaggi di scripting potrebbero essere lenti in alcune situazioni.
Differenza tra linguaggi di scripting e di programmazione
Sebbene tutti i linguaggi di scripting siano linguaggi di programmazione, differiscono nel fatto che i linguaggi di scripting interpretano direttamente i file e non necessitano della fase di compilazione. Ad esempio, un programma sbiancato nel linguaggio di scripting come PHP o JavaScript non necessita di essere compilato, mentre un programma C deve essere compilato prima di essere eseguito.
numero primo java
Generalmente, rispetto ai programmi interpretati, i programmi compilati vengono eseguiti più velocemente poiché vengono prima convertiti in codice macchina nativo prima dell'esecuzione. L'interprete legge e analizza le istruzioni del codice ogni volta che vengono incontrate e, se vengono scoperti degli errori, li rileva e si ferma a quel punto, mentre il compilatore legge e analizza il codice solo una volta e visualizza gli errori che il codice contiene. In pratica, a causa delle migliorate capacità di calcolo dell'hardware moderno e delle pratiche di codifica avanzate, la differenza tra linguaggi di scraping e programmazione sta diventando confusa.
Quando si distingue tra linguaggi come scripting e programmazione, è necessario considerare l'ambiente in cui verranno utilizzati. La ragione di ciò è che gli sviluppatori devono essere in grado di costruire un compilatore per un linguaggio di scripting come JavaScript e usarlo come linguaggio non scripting (linguaggio compilato), così come un interprete per un linguaggio compilato come C o C++ e usare come linguaggio di scripting.
La V8 del motore JavaScript di Google Chrome ne è un vero esempio. V8 converte il codice JavaScript in codice macchina anziché interpretarlo. Linguaggi come JavaScript, PHP, Python e VBScript sono stati generalmente utilizzati senza una fase di compilazione esplicita, mentre C e C++ hanno una fase di compilazione esplicita.
Le principali distinzioni tra scripting e programmazione sono elencate nella tabella seguente:
Linguaggio di scripting | Linguaggio di programmazione |
---|---|
Si basa sull'interprete. | Si basa sul compilatore. |
Viene utilizzato per combinare componenti esistenti. | Viene utilizzato per lo sviluppo da zero. |
Funziona all'interno del programma e dipende da esso. | È indipendente da un programma genitore. |
Funziona per convertire istruzioni di alto livello in linguaggio macchina. | Funziona per convertire l'intero programma in linguaggio macchina in una volta sola. |
Non richiede la compilazione del file e l'esecuzione diretta. | È necessario prima compilare il file. |
Non ha un tipo di file. | Contiene il tipo di file .exe. |
Non supporta tipi di dati, progettazione grafica e progettazione dell'interfaccia utente, né supporta funzionalità limitate. | Ha un ricco supporto per la progettazione grafica, i tipi di dati e il design dell'interfaccia utente. |
Gli utenti possono facilmente scriverlo e utilizzarlo. | Può essere difficile da usare e scrivere. |
Ha bisogno di un ospite. | Non necessita di un host poiché è autoeseguibile. |
Richiede poca manutenzione. | Richiede elevata manutenzione. |
Esempi di linguaggi di scripting includono VB Script, JavaScript, Perl, Ruby e PHP. | Esempi di linguaggi di programmazione includono COBOL, Java, VB, Basic, C, C++, C# e Pascal. |