Cosa sono le generazioni di linguaggi di programmazione?

Le generazioni di linguaggi di programmazione sono un modo per classificare i linguaggi di programmazione per computer in base alla loro distanza complessiva dal codice macchina effettivo generato e, in qualche modo, alla loro facilità d'uso da parte di un programmatore. Esistono tre generazioni di linguaggi di programmazione generalmente accettate e alcune le cui definizioni non sono chiaramente concordate. Un linguaggio di programmazione per computer di prima generazione è un codice macchina diretto senza astrazione. I linguaggi di seconda generazione sono codici macchina astratti, come il linguaggio assembly, che sono legati a una specifica architettura di sistema ma sono leggibili e devono essere compilati. I linguaggi di terza generazione sono la forma più comune, compresi i linguaggi standard come C e Java®, mentre i linguaggi di quarta generazione o superiori hanno definizioni diverse.

Quando le generazioni di linguaggi di programmazione sono state create per descrivere le lingue, il termine è stato utilizzato principalmente per indicare linguaggi di terza generazione. Ciò significa che le lingue di prima e seconda generazione sono state classificate come tali solo per evidenziare le capacità delle lingue di terza generazione. La quarta e la quinta generazione di linguaggi di programmazione sono state ampiamente utilizzate come termini in relazione al marketing per i linguaggi in fase di sviluppo. Nel marketing e in alcune aree accademiche, le generazioni linguistiche con un numero più elevato vengono utilizzate in modo non standard per indicare che una lingua è più recente o ha più funzionalità di un'altra.

La prima generazione del linguaggio di programmazione indica il codice macchina. Ciò significa scrivere un programma come una sequenza di byte o, in casi estremi, bit che possono essere eseguiti direttamente da un computer. Nella maggior parte dei casi, ciò si riferisce a un sistema che accetta input tramite switch codificati o altri meccanismi fisici.

I linguaggi di programmazione di seconda generazione sono considerati linguaggi di tipo assembly. Si tratta di linguaggi scritti con codice e comandi leggibili dall'uomo che sono ancora legati a architetture di sistema specifiche ma presentano un ambiente di sviluppo più semplice e alcune astrazioni. I linguaggi di assemblaggio non hanno mai smesso di essere utilizzati, a partire dal 2011, e non solo sono estremamente potenti, ma possono anche essere usati come dichiarazioni incorporate in linguaggi di programmazione di livello superiore, rendendo falsa l'idea che la generazione di un linguaggio sia equivalente alla sua velocità o potenza.

I linguaggi di programmazione di terza generazione hanno disaccoppiato il codice dal processore in misura ancora maggiore, consentendo lo sviluppo di codice che utilizzava istruzioni più leggibili. Inoltre, sono stati sviluppati compilatori in grado di trasformare una singola riga di codice in più istruzioni di assemblaggio su più piattaforme e, infine, in dozzine o più istruzioni di codice macchina. Quasi tutti i linguaggi per computer in grado di compilare eseguibili e librerie binarie native sono considerati linguaggi di terza generazione.

In generale, un linguaggio di quarta generazione è visto come un linguaggio pensato per usare un tipo di linguaggio di programmazione che è molto naturale per l'utente. Può anche essere definito come un linguaggio che utilizza elementi visivi per costruire il programma finale. Una terza definizione è un linguaggio di programmazione creato per uno scopo specifico, come un linguaggio di programmazione di database o un linguaggio di sviluppo rapido di applicazioni (RAD).

Una definizione libera di un linguaggio informatico di quinta generazione è quella che consente a un programmatore di presentare al computer un problema che tenta quindi di risolvere. La maggior parte delle lingue che sono elencate come una lingua di quinta generazione sono per lo più di natura accademica. Altre generazioni di linguaggi di programmazione, come la sesta e la settima, sono state utilizzate dagli sviluppatori di linguaggi commerciali per scopi di marketing.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?