Fourth generation language
August 6, 2009
Although many languages are called fourth-generation languages, they are actually a mix of third and fourth. For example, the List command in dBASE is a fourth-generation command, but applications programmed in dBASE are third-generation. The following command examples show the difference between third and fourth-generation syntax to open a customer file and display all names and addresses on screen.
dBASE 3GL dBASE 4GL use customer use customer do while .not. eof() list name, address ? name, address skip enddo
Query language and report writers are also fourth-generation languages. Any computer language with English-like commands that does not require traditional input-process-output logic falls into this category.
Many fourth-generation language functions are also built into graphical interfaces and activated by clicking and dragging. The commands are embedded into menus and buttons that are selected in an appropriate sequence.
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.
- 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 other successful 4th-generation languages are: database query languages, e.g. SQL; Focus, Metafont, PostScript, RPG-II, S, IDL-PV/WAVE, Gauss, Mathematica and data-stream languages such as AVS, APE, Iris Explorer.