Fourth-Generation Computer Languages: An Overview
John Ricks · 1988
Fourth-Generation Computer Languages: An Overview In the world of computers, generations come and go about three times as fast as generations of people. Computer languages are barely 45 years old; communication with the first computers began with binary code in the 1940s. A second generation brought assembly languages, and a third such languages as COBOL and FORTRAN. The languages of this third generation were the first ones in English-readable form. Nevertheless, to produce a program using any of these first three generations was a time-consuming and painstaking job. Now we are at the fourth generation, with a fifth on the doorstep. Each successive generation has brought easier, more effective communication between programmer and machine. The biggest change brought about by fourth-generation languages (4GLs) is that computer users today can make their requirements known to the computer in simple English and have the machine respond swiftly in kind. What is a 4GL? From a technical point of view, a 4GL is an automatic coding device that allows the computer to actually write the program. But to the nontechnical person, perhaps the best definition is that a 4GL is a language you can learn in about three hours, use, drop for a month and then take up again without any additional training. Others define it in terms of productivity: if it improves programming development efficiency by a factor of ten over a 3GL such as COBOL or FORTRAN, it's a 4GL. By any definition, 4GLs are proliferating. In the last five years, virtually all of the mainframe computer systems and some PC systems have had at least one 4GL software program designed to be used with them. What a 4GL Can Mean for an Educational System Today the requirements for paperwork, agendas, documentation, compliance reports, accountability statistics and so on continue to increase. Almost the only way an educational system of any size can keep up with these demands is to computerize as much data as possible. But to call that data out again in the required combinations and formats requires application programming. The beauty of a good 4GL is that all the elements programmers need to create these applications are already there. Ninety-nine percent of the work is done in advance, since the software essentially writes the program. A job that, in the days of 3GLs, might have required five or six people-systems analysts, programmers and keypunch operators-can now be done by one person with a 4GL, with time left over. A 4GL achieves these productivity gains in several ways: * It automates routine procedures. No longer is it necessary to program instructions such as Go to the next or to format a page column by column. The 4GL creates an automatic format by default, which can be adapted later if necessary. * A single line of code in a 4GL may automatically generate many lines of COBOL. * By prototyping, a 4GL speeds and simplifies the steps between the design of a new application and its implementation. A prototype demonstrates design concepts more simply and accurately than a formal written specification would do, and speeds up the requirements definition phase. Often, in fact, the prototype program is developed incrementally into a usable end product. * A 4GL simplifies the development of data files. It will print a file description that can be used as a data element dictionary for documentation. * Fourth-generation languages facilitate the connection of many different files, joining them with common keys. * The debugging phase in implementing a 4GL program is virtually nonexistent, since the generated programs are already debugged. * Many different reports can be generated as examples for acceptance in the initial design phase and kept or modified as the final product. An educational system with a 4GL does not require experienced (and expensive) programmers to develop every application. …