Generazioni di linguaggi di programmazione

Nell'industria informatica, queste abbreviazioni sono ampiamente utilizzate per rappresentare i principali passi o "generazioni" nell'evoluzione dei linguaggi di programmazione.

1GL o il linguaggio di prima generazione era (e lo è ancora) linguaggio macchina o il livello di istruzioni e dati su cui il processore è effettivamente dato per lavorare (che nei computer convenzionali è una stringa di 0 e 1).

2GL o il linguaggio di seconda generazione è il linguaggio assembler (a volte chiamato "assembly"). Una tipica istruzione 2GL ha questo aspetto:

                 AGGIUNGI 12,8

Un assemblatore converte le istruzioni del linguaggio assembler in linguaggio macchina.

3GL o il linguaggio di terza generazione è un linguaggio di programmazione "di alto livello", come PL / I, C o Java. Le dichiarazioni del linguaggio Java hanno questo aspetto:

public boolean handleEvent (Event evt) {switch (evt.id) {case Event.ACTION_EVENT: {if ("Try me" .equald (evt.arg)) {

Un compilatore converte le istruzioni di uno specifico linguaggio di programmazione di alto livello in linguaggio macchina. (Nel caso di Java, l'output è chiamato bytecode, che viene convertito in un linguaggio macchina appropriato da una macchina virtuale Java che viene eseguita come parte di una piattaforma del sistema operativo.) Un linguaggio 3GL richiede una notevole quantità di conoscenza di programmazione.

4GL o il linguaggio di quarta generazione è progettato per essere più vicino al linguaggio naturale rispetto a un linguaggio 3GL. Le lingue per l'accesso ai database sono spesso descritte come 4GL. Una dichiarazione in linguaggio 4GL potrebbe assomigliare a questa:

     ESTRATTA TUTTI I CLIENTI DOVE "ACQUISTI PRECEDENTI" TOTALE SUPERIORE A $ 1000

5GL o il linguaggio di quinta generazione è la programmazione che utilizza un'interfaccia di sviluppo visiva o grafica per creare un linguaggio sorgente che di solito viene compilato con un compilatore di linguaggio 3GL o 4GL. Microsoft, Borland, IBM e altre società realizzano prodotti di programmazione visuale 5GL per lo sviluppo di applicazioni in Java, ad esempio. La programmazione visuale consente di visualizzare facilmente le gerarchie di classi di programmazione orientata agli oggetti e di trascinare le icone per assemblare i componenti del programma.