Content area
Full text
"Freedom of choice!" has been the battle cry of open systems marketers for years. Today's 4GL database tool marketplace is a powerful example of the degree of success achieved by the open systems movement. Of course, along with freedom of choice comes the responsibility for choosing the "best" or "right" product in a highly competitive and over-crowded market segment. The jargon-filled techno-babble with which many vendors describe their products makes that responsibility a daunting one to fulfil.
In DBMS Magazine's 1994 Database Buyer's Guide and Client/Server Sourcebook, more than 7S0 products are listed, well over 100 in the "Client/Server and Host Application Development tools" section alone! Is each one of these tools a bona fide 4GL? Even if that is true, how can one decide which of the tools is the most productive, or has the brightest future? Won't 4GLs take over and relegate COBOL to the history books? What differentiates 4GLs from 3GLs and why haven't they already replaced COBOL? While the sidebar very briefly examines the evolution of computing languages (see the "A brief history" sidebar), let's dive in directly to address these questions, and maybe even decipher some of that wondrous techno-babble.
PROCEDURAL AND NON-PROCEDURAL
Programs written in first, second, and third generation languages were all programmed in a similar manner. This programming style was termed "procedural," meaning that the language described each step required or a program in sequence, step by step. When language designers found that there were groups of programs with many common features, an attempt was made to automatically include those features without step-by-step programming. Languages which could be programmed in this way were termed "non-procedural." Since almost all programs were created to create, modify, delete or report on data and to interact with a user, most of these 4GLs attempted to improve the data or user interaction process. In fact many 4GLs were developed by companies whose primary product was a data management system. Some mid-1980's examples of non-procedural languages were Oracle's SQL*Forms (highly non-procedural) 'and Ingres's ABF/OSL (partly non-procedural).
STANDARDS
In particular, one big difference between 3GLs and 4GLs has been their level of standardization. Various standards committees have published specifications for third-generation languages such as COBOL so that a language "compiler" (a compiler is...





