To overcome the 3GL limitations and in direct response to the need for development tools that allowed programmers to create user-intense applications quickly and easily, Informix created and refined a new fourth-generation language. The Informix 4GL product family evolved to give developers a more flexible, phrase-driven language that incorporated preprogrammed solutions for today's most common user/database-interface functions. Informix 4GL solutions added three important components to the developer's toolkit: flexible, easy-to-access forms, reports and menus, plus compilation times that were anywhere from 10 to 20 times faster than comparable third-generation language applications. Because underneath these more advanced capabilities the newer 4GL products still generate a foundation of C code, developers have the ability to link in their own C code to tackle highly optimized jobs.

The very first Informix 4GL product was, in fact, a straight C code generator and was ideally suited to creating customized applications utilizing pop-up windows, built-in help, complete procedural and non-procedural controls, ring menus and scrolling arrays. The product's non-procedural statements--such as OPEN WINDOW, MENU, SELECT and others--allows developers to accomplish, in just a few lines, actions that would require literally hundreds of lines of code in a third-generation language.

While today's more advanced GUI languages have replaced the fourth generation in many situations, 4GL remains the tool of choice for many "quick and basic" administrative jobs, large reporting tasks and screen setups that require page breaks, margins and specific page formatting. The Informix 4GL product family also overcame one of the most difficult and frustrating limitations of previous-generation tools--the lack of a standard specification linking the UNIX box with the many OEM-unique display terminals on the end-user desktop. Informix created a portable library of TERM-CAP definitions which, in effect, allowed the UNIX application to talk to virtually any terminal in a seamless and transparent manner.

Informix next responded to the need for ever-shorter compile times by creating the Informix 4GL Rapid Development System (RDS). Like Java does with Java code, the Informix RDS tokenizes the input stream of 4GL source down to a shorthand-like pseudo-code (or P-code), reads it into memory, then employs a custom-tailored "runner" that examines the P-code and expands it to executable code. Because Informix RDS generates a standard tokenized instruction set, the P-code could be compiled on one platform and then deployed with appropriate runners to virtually any type of platform--thus making Informix 4GL RDS one of the industry's most portable development tools.

One other major challenge to the Informix 4GL solutions was the fact that these new tools were not at first able to take optimum advantage of the revolutionary wave of interactive debuggers that by the mid-1980s had begun to sweep the development community. These increasingly powerful interactive debuggers represented an exponential advance for database programming by allowing developers to step through a program line-by-line to spot and repair any problem. But because the original versions of 4GL used function calls that were not easily related to the associated C code, Informix developers yearned for a 4GL solution that could more fully harness the power of this new generation of interactive debugging technologies.

The Informix 4GL Interactive Debugger allows programmers to control the execution of a running program, to view and change the contents of variables and to analyze program execution step-by-step. Together with the Rapid Development System, this powerful interactive debugging capability dramatically reduces the time and cost of Informix 4GL development.

And, of course, Informix also provides a high-speed and very reliable solution for the production environment with its Informix 4GL Compiler. The Compiler takes Informix 4GL source code and compiles it into standard C code. This C code can then be compiled into machine code for virtually any machine application.

The Informix 4GL family also now incorporates a number of new, higher-level features, including: international numeric formatting, a 4GL Application Programming Interface (API) and on-line error messaging. This suite of 4GL tools virtually eliminates the need to buy or learn external development packages. Taken as a whole, the Informix 4GL product family provides a highly portable solution based on the industry-standard SQL that integrates a truly impressive array of functionality and allows you to maintain applications for many years into the future.

Fourth-generation languages constitute a significant legacy investment for many organizations, and with the addition of these most-current improvements, 4GL resources can continue to pay measurable dividends. In many database-driven applications, 4GL remains a vital part of the successful development toolkit. These and other tools continue to mark our progress toward ever more-efficient database management.

Copyright J.D.Hicks, 1998.

Register or login for access to this item and much more

All Information Management content is archived after seven days.

Community members receive:
  • All recent and archived articles
  • Conference offers and updates
  • A full menu of enewsletter options
  • Web seminars, white papers, ebooks

Don't have an account? Register for Free Unlimited Access