Return to CAP Home
Printable Version



cap today

What is a 4GL?

June 2001
Eric Skjei

Tools now exist that make it possible to program computers using commands that approximate natural language, and these tools fall into the following general classification scheme:

1GL (first-generation language) refers to machine language, the actual 0s and 1s, however they are represented—magnetically, optically, and even, today, molecularly.

2GL, also known as assembly language, alludes to the earliest ways developed to write instructions to a computer without having to specify each binary digit.

3GL, also known as high-level programming, involves well-developed systems in which programming is highly structured and systematized, and moves more closely to something resembling a language, as in, for example, Fortran, Cobol, C, Basic, and so on.

4GL is a programming system that comes much closer to natural language than its predecessors and is designed to improve the productivity available with 3GLs by depending more heavily on standardized routines and components. 4GLs are typically used to access databases; many 4GLs include their own database management systems, and, conversely, many database products include their own 4GLs.

There is also a 5GL, which, according to consultant Hal Weiner, “incorporates all the features of a 4GL plus the ability to interact with knowledge-based systems, expert systems, and to support such functions as natural language processing.”