Linguagem de programação de quarta geração

As linguagens de programação de quarta geração, ou 4GL em sua abreviatura de origem inglesa, são linguagens de programação de alto-nível com objetivos específicos, como o desenvolvimento de softwares comerciais de negócios. Elas permitem ao programador especificar o que deve ser feito visando um resultado imediato.

O termo 4GL foi usado primeiramente por James Martin em seu livro publicado em 1982 "Applications Development Without Programmers" para se referir a estas linguagens não-procedimentais e de alto-nível. Alguns acreditam que a primeira 4GL foi uma linguagem chamada Ramis, desenvolvida por Gerald C. Cohen na empresa Mathematica (uma companhia de software matemáticos). Cohen deixou Mathematica e fundou a Information Builders, para criar uma 4GL similar, chamada FOCUS.

A principal diferença entre as linguagens de terceira e quarta geração, é que estas primeiras são linguagens procedurais que descrevem como fazer algo, enquanto a 4GL descreve o que você quer que seja feito.

Uma 4GL que se popularizou foi a linguagem SQL (Structured Query Language), que se tornou um padrão para manipulação e consulta de bancos de dados, sendo hoje em dia muito usada em conjunto com as linguagens de terceira geração.

Linguagens de quarta geração tem sido frequentemente comparadas a Linguagens de domínio especifícos (DSLs). Alguns pesquisadores afirmam que as 4GLs são um subconjunto de DSLs.[1][2]

Algumas linguagens de quarta geração bem-sucedidas

  • Database query languages
    • FOCUS
    • Oracle PL/SQL
    • NATURAL
    • Progress 4GL
    • SQL
  • Report generators
    • BuildProfessional
    • GEMBase
    • IDL-PV/WAVE
    • LINC
    • Metafont
    • NATURAL
    • Oracle Reports
    • PostScript
    • Progress 4GL Query/Results
    • RPG-II
    • S
    • Gauss
    • Mathematica
  • Linguagens de manipulação de dados, análise e criação de reports
  • Linguagens para Data-stream
    • APE
    • AVS
    • Iris Explorer
  • Geradores e desenhadores de Ecrãs

Referências

  1. 35th Hawaii International Conference on System Sciences - 1002 Domain-Specific Languages for Software Engineering
  2. Arie van Deursen; Paul Klint, Joost Visser (1998). «Domain-Specific Languages:An Annotated Bibliography». Consultado em 15 de março de 2009. Arquivado do original em 2 de fevereiro de 2009  A referência emprega parâmetros obsoletos |coautor= (ajuda)

Ligações externas

  • Fourth Generation Environments
  • 4GL GPL/GNU OpenSource development tools project
  • Domain-Specific Languages for Software Engineering (Compara 4GLs a DSLs)