Fourth-generation programming language

From Free net encyclopedia

(Redirected from 4GL)

A fourth-generation programming language (abbreviated 4GL) is a programming language designed with a specific purpose in mind, such as the development of commercial business software. Such languages arose after the introduction of modern, block-structured third-generation programming languages, which improved the process of software development. However, it was still frustrating, slow, and error prone to program computers. This led to the first "programming crisis", in which the amount of work that might be assigned to programmers greatly exceeded the amount of programmer time available to do it. Meanwhile, a lot of experience was gathered in certain areas, and it became clear that certain applications could be generalized by adding limited programming languages to them.

The term 4GL was first used by James Martin in his 1982 book Applications Development Without Programmers to refer to non-procedural, high-level specification languages. Nevertheless, the great majority of 4GL users would describe themselves as programmers and most 4GLs allowed for (or required) system logic to be written in a proprietary macro language or a 3GL.

All 4GLs are designed to reduce programming effort, the time it takes to develop software, and the cost of software development. They are not always successful in this task, sometimes resulting in inelegant and unmaintainable code. However, given the right problem, the use of an appropriate 4GL can be spectacularly successful.

A number of different types of 4GLs exist:

  • Report generators take a description of the data format and the report to generate and from that they either generate the required report directly or they generate a program to generate the report.
  • Similarly, forms generators manage online interactions with the application system users or generate programs to do so.
  • More ambitious 4GLs (sometimes termed fourth generation environments) attempt to automatically generate whole systems from the outputs of CASE tools, specifications of screens and reports, and possibly also the specification of some additional processing logic.

Some 4GLs have integrated tools which allow for the easy specification of all the required information:

Fourth-generation languages have often been compared to Domain-specific programming languages (DSLs). Some researchers state that 4GLs are a sub-set of DSLs. [1]

Some successful fourth-generation languages

  • Data-stream languages
    • APE
    • AVS
    • Iris Explorer

See also

External links

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
de:4GL

fr:L4G nl:4GL ja:4GL pl:4GL