A fourth-generation programming language (or 4GL) is an application-specific programming language. The term was invented by Jim Martin to refer to non-procedural high-level languages built around database systems, however later 4GLs exhibited procedural characteristics. The first three generations were developed fairly quickly, but it was still frustrating, slow, and error prone to program computers, leading to the first "programming crisis", in which the amount of work that might be assigned to programmers greatly exceeded the amount of programmer time available to do it. Meanwhile, a lot of experience was gathered in certain areas, and it became clear that certain applications could be generalized by adding limited programming languages to them. Thus were born report-generator languages, which were fed a description of the data format and the report to generate and turned that into a program which actually contained the commands to read and process the data and place the results on the page.

Some other successful 4th-generation languages are: database query languages, e.g. SQL, Informix-4GL, Focus, Metafont, PostScript, RPG-II, S, IDL-PV/WAVE, Gauss, Mathematica and data-stream languages such as AVS, APE, Iris Explorer.

See also:


Based on material from FOLDOC, used with permission.