While 3GLs like C, C++, C#, Java, and JavaScript remain popular for a wide variety of uses, 4GLs as originally defined found uses focused on databases, reports, and websites.
[3] Some advanced 3GLs like Python, Ruby, and Perl combine some 4GL abilities within a general-purpose 3GL environment,[4] and libraries with 4GL-like features have been developed as add-ons for most popular 3GLs, producing languages that are a mix of 3GL and 4GL, blurring the distinction.
Though used earlier in papers and discussions, the term 4GL was first used formally by James Martin in his 1981 book Application Development Without Programmers[6] to refer to non-procedural, high-level specification languages.
As interfaces improved and allowed longer statement lengths and grammar-driven input handling, greater power ensued.
[10] One of the early (and portable) languages that had 4GL properties was Ramis developed by Gerald C. Cohen at Mathematica, a mathematical software company.
An interesting twist to the 4GL scene is realization that graphical interfaces and the related reasoning done by the user form a 'language' that is poorly understood.
A number of different types of 4GLs exist: Some 4GLs have integrated tools that allow for the easy specification of all the required information: In the twenty-first century, 4GL systems have emerged as "low code" environments or platforms for the problem of rapid application development in short periods of time.