# Llenguatge de programació de quarta generació

Un llenguatge de programació de quarta generació (4GL) és un llenguatge de programació informàtic d'alt nivell que pertany a una classe de llenguatges concebuts com un avenç respecte als llenguatges de programació de tercera generació (3GL). Cadascuna de les generacions del llenguatge de programació pretén proporcionar un nivell més alt d'abstracció dels detalls del maquinari intern de l'ordinador, fent que el llenguatge sigui més fàcil de programar, potent i versàtil. Tot i que la definició de 4GL ha canviat amb el temps, es pot caracteritzar si funciona més amb grans col·leccions d'informació alhora que centrar-se només en bits i bytes. Els idiomes que es diu que són 4GL poden incloure suport per a la gestió de bases de dades, la generació d'informes, l'optimització matemàtica, el desenvolupament de GUI o el desenvolupament web. Alguns investigadors afirmen que els 4GL són un subconjunt de llenguatges específics del domini.
El concepte de 4GL es va desenvolupar des de la dècada de 1970 fins a la de 1990, superposant-se a la major part del desenvolupament de 3GL, amb els 4GL identificats com a llenguatges "no procedimentals" o "generadors de programes", en contrast amb els 3GL que són llenguatges algorísmics o procedimentals. Mentre que els 3GL com C, C++, C#, Java i JavaScript segueixen sent populars per a una gran varietat d'usos, els 4GL, tal com es van definir originalment, es van centrar en bases de dades, informes i llocs web. Alguns 3GL avançats com Python, Ruby i Perl combinen algunes habilitats 4GL dins d'un entorn 3GL de propòsit general, i s'han desenvolupat biblioteques amb funcions semblants a 4GL com a complements per als 3GL més populars, produint llenguatges que són una barreja. de 3GL i 4GL, desdibuixant la distinció.
A les dècades de 1980 i 1990, hi va haver esforços per desenvolupar llenguatges de programació de cinquena generació (5GL).

## Història

Tot i que s'utilitzava anteriorment en articles i discussions, el terme 4GL va ser utilitzat formalment per primera vegada per James Martin al seu llibre de 1981 Desenvolupament d'aplicacions sense programadors per referir-se a llenguatges d'especificació d'alt nivell no procedimentals. D'alguna manera primitiva, els primers 4GL es van incloure al producte Informatics MARK-IV (1967) i al MAPPER de Sperry (ús intern de 1969, llançament de 1979).
Les motivacions per a la creació de "4GL" i l'interès continuat són diverses. El terme es pot aplicar a un gran conjunt de productes de programari. També es pot aplicar a un enfocament que busca més propietats semàntiques i poder d'implementació. De la mateixa manera que el 3GL va oferir més poder al programador, també el 4GL va obrir l'entorn de desenvolupament a una població més àmplia.
L'esquema d'entrada primerenc per al 4GL permetia l'entrada de dades dins del límit de 72 caràcters de la targeta perforada (8 bytes utilitzats per a la seqüenciació) on l'etiqueta d'una targeta identificaria el tipus o funció. Amb un ús prudent d'unes quantes cartes, la baralla 4GL podria oferir una gran varietat de capacitats de processament i informes, mentre que la funcionalitat equivalent codificada en un 3GL podria incloure, potser, una caixa sencera o més de cartes.

## Referències

* ↑ Arie van Deursen. «Domain-Specific witness Languages:An Annotated Bibliography» (en anglès). Arxivat de l'original el 2009-02-02. [Consulta: 15 març 2009].
* ↑ MacDonell, Stephen "Software development, CASE tools and 4GLs—A survey of New Zealand usage. Part 1: 750 New Zealand organisations"., 11-1993.
* ↑ «Roger Clarke's Software Generations» (en anglès).
* ↑ «Definition of fourth-generation language» (en anglès). PCMAG. [Consulta: 7 maig 2020].
* ↑ «IBM Punch Cards» (en anglès). www.columbia.edu. Arxivat de l'original el 2019-02-16. [Consulta: 3 febrer 2019].