Linguaggio di programmazione

Article

August 17, 2022

Un linguaggio di programmazione è un linguaggio formale utilizzato per definire i programmi per computer. È una tecnica di comunicazione standardizzata utilizzata per dare istruzioni a un computer, un linguaggio informatico che consente ai programmatori di definire con precisione i dati che il computer deve utilizzare e definire con precisione le azioni da intraprendere in diverse situazioni. I primi linguaggi di programmazione furono prodotti prima dell'invenzione dei computer, quando venivano usati per controllare i movimenti dei telai jacquard e dei pianisti automatici. Migliaia di linguaggi di programmazione diversi sono stati inventati nel campo dei computer e ogni anno ne nascono di nuovi. Molti linguaggi di programmazione richiedono istruzioni per descrivere la procedura di calcolo, mentre alcuni linguaggi di programmazione sono di programmazione dichiarativa, indicando il risultato desiderato, ma non come calcolarlo. La descrizione dei linguaggi di programmazione può essere generalmente suddivisa in sintassi e semantica. La sintassi è la descrizione della corretta combinazione di simboli o parole nel linguaggio di programmazione e la semantica è la spiegazione della programmazione. Alcune lingue sono definite da un file di specifica, come il file di specifica del linguaggio C fa parte dello standard ISO, la versione successiva al 2011 è ISO/IEC 9899:2017, mentre altre lingue (come Ada o Perl) disporre di un file di implementazione del linguaggio di programmazione, considerato l'implementazione di riferimento.

Introduzione

I linguaggi di programmazione sono stati originariamente progettati per essere utilizzati con i computer, ma anche per definire algoritmi o strutture dati. Quindi i programmatori cercano di rendere il codice del programma facile da leggere. I linguaggi di programmazione spesso consentono ai programmatori di esprimere ciò che vogliono esprimere in modo più preciso di quanto farebbero con il linguaggio macchina. Conoscere i linguaggi di programmazione è importante per chi si occupa di informatica perché tutti i calcoli oggi richiedono linguaggi di programmazione. Il motivo per cui ci sono così tanti linguaggi di programmazione diversi è che i programmi sono scritti per ragioni diverse; il divario di abilità tra principiante e veterano è molto piccolo e ci sono molti linguaggi che sono troppo facili da imparare per un principiante; e, il costo di runtime varia da programma a programma. Esistono molti linguaggi speciali che vengono utilizzati solo in casi speciali. Ad esempio, PHP è specializzato per la visualizzazione di pagine web; Perl è adatto per l'elaborazione di testi; C è ampiamente utilizzato nello sviluppo di sistemi operativi e compilatori (la cosiddetta programmazione di sistemi). L'emergere di linguaggi di alto livello rende i linguaggi di programmazione per computer non più eccessivamente dipendenti da una macchina o un ambiente specifico. Questo perché i linguaggi di alto livello vengono compilati in diversi linguaggi macchina su piattaforme diverse, anziché essere eseguiti direttamente dalla macchina. Uno degli obiettivi principali di FORTRAN, il primo linguaggio di programmazione, era raggiungere l'indipendenza dalla piattaforma. Sebbene la maggior parte delle lingue possa essere sia compilata che interpretata, la maggior parte funziona bene in una sola situazione. In alcuni sistemi di programmazione, i programmi attraversano diverse fasi di compilazione e, in generale, le fasi successive di compilazione tendono ad essere più vicine al linguaggio macchina. Questa tecnica di utilizzo comune è stata utilizzata per la prima volta in BCPL alla fine degli anni '60, dove il compilatore compila prima una rappresentazione chiamata "codice zero" e quindi utilizza un virtualizzatore per convertire in codice reale che può essere eseguito sulla macchina. Questa tecnica di successo è stata successivamente utilizzata in Pascal e P-code, nonché in Smalltalk e nel codice binario, e in molti casi il codice intermedio è stato interpretato anziché compilato. Se il meccanismo di traduzione utilizzato consiste nel tradurre il codice del programma da tradurre nel suo insieme e quindi eseguire il formato interno, questo processo di traduzione viene chiamato compilazione. Pertanto, un compilatore è uno che prende il testo del programma leggibile dall'uomo (chiamato codice sorgente) come dati di input e genera un file eseguibile (codice oggetto). Il file eseguibile di output può essere in linguaggio macchina, eseguito direttamente dall'unità di elaborazione centrale del computer, o il codice binario di un qualche tipo di simulatore. Se il codice del programma viene tradotto al volo in fase di esecuzione, il meccanismo di traduzione viene chiamato traduzione letterale. I programmi tradotti letteralmente tendono a essere eseguiti più lentamente dei programmi compilati, ma tendono ad essere più flessibili perché possono interagire con l'ambiente di esecuzione.

Caratteristiche

Ogni linguaggio di programmazione può essere pensato come un insieme di specifiche formali contenenti sintassi, vocabolario e significato. Queste specifiche di solito includono: dati e strutture dati Istruzioni e controllo del flusso Meccanismi di riferimento e riutilizzo Filosofia del design Linguaggio di programmazione Regole non scritte: Le convenzioni di denominazione degli identificatori sono principalmente