Wednesday, December 12, 2007

Fourth Generation Programming Language(4GLs)

A fourth-generation programming language(1970s-1990) (abbreviated 4GL) is a programming language or programming environment designed with a specific purpose in mind, such as the development of commercial business software. In the evolution of computing, the 4GL followed the 3GL in an upward trend toward higher abstraction and statement power. The 4GL was followed by efforts to define and use a 5GL.
The natural-language, block-structured mode of the third generation programming languages
improved the process of software development. However, 4GL development methods can be slow and error-prone. It became clear that some applications could be developed more rapidly by adding a higher-level programming language and methodology which would generate the equivalent of very complicated 3GL instructions with fewer errors. In some senses, software engineering arose to handle 3GL development. 4GL and 5GL projects are more oriented toward problem solving and systems engineering.
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.


Types

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, form 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.
  • Data management 4GLs such as SAS, SPSS and Stata provide sophisticated commands for data manipulation, file reshaping, case selection and data documentation in the preparation of data for statistical analysis and reporting.

Some successful fourth-generation languages

Database query languages
  • FOCUS
  • NATURAL
  • Informix-4GL
  • Genero
  • Progress 4GL
  • SQL
  • SB+/SystemBuilder

Data manipulation, analysis, and reporting languages
  • Clarion Programming Language
  • Ab Initio
  • ABAP
  • ADS/Online (plus transaction processing)
  • Aubit-4GL
  • Culprit
  • DASL
  • FOCUS
  • Genero

No comments: