Topic List

Click a topic to learn more.


Term of the Moment

Hello World


Look Up Another Term


Definition: fourth-generation language


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.

 dBASE                  dBASE
 Procedural             Non-Procedural
 3GL Language           4GL Language

 use customerFile       use customerFile
 do while .not. eof()   list name, city
   ? name, city
   skip
 enddo