A non-procedural programming language that requires less coding than lower-level languages. Command-line languages that come with operating systems and database management systems (DBMSs) are fourth-generation languages (4GLs), as are query languages and report writers. Any language with English-like commands that does not require traditional input-process-output logic falls into this category.
In addition, software tools that uses graphical interfaces for building applications or generating queries are also considered fourth generation. Underlying the menus and buttons are fourth-generation command structures that are activated with a click of the mouse.
First-, Second- and Third-Generation Languages
First-generation languages are binary machine languages. Second-generation languages are machine-dependent assembly languages, and third-generation languages (3GLs) are high-level programming languages, such as FORTRAN, COBOL, BASIC, Pascal, C/C++ and Java.
Many languages are actually a mix of both third- and fourth-generation languages. The following dBASE example shows the difference in syntax to open a customer file and display names and cities. In the 3GL language, the test for end of file and the loop to go back to the top and repeat the process are necessary. In second-generation languages, the specific screen columns must be identified. Contrast with non-procedural language
. See compiler
, machine language
and assembly language
3GL Language 4GL Language
use customerFile use customerFile
do while .not. eof() list name, city
? name, city