# IBM Informix-4GL

Informix-4GL is a 4GL programming language developed by Informix during the mid-1980s. At the time of its initial release in 1986, supported platforms included Microsoft Xenix (on IBM PC AT), DEC Ultrix (running on Microvax II, VAX-11/750, VAX-11/785, VAX 8600), Altos 2086, AT&T 3B2, AT&T 3B5, AT&T 3B20 and AT&T Unix PC.

## Description

It includes embedded SQL, a report writer language, a form language, and a limited set of imperative capabilities (functions, if and while statements, and supports arrays etc.). The language is particularly close to a natural language and is easy to learn and use. The Form Painter, Screen Code Generator, Report Code Generator (Featurizer) enabled adding custom business logic. It also had, as additional components a menu system, and a front-end GUI (graphical user interface) Generator.
The package includes two versions of compiler which either produce 1) intermediate byte code for an interpreter (known as the rapid development system), or 2) C Programming Language code for compilation with a C compiler into machine-code (which executes faster, but compiles slower, and executables are bigger). It is specifically designed to run as a client on a network, connected to an IBM Informix database engine service. It has a mechanism for calling C Programming Language functions and conversely, to be called from executing C programs. The RDS version also features an interactive debugger for Dumb terminals. A particular feature is the comprehensive error checking which is built into the final executable and the extremely helpful error messages produced by both compilers and executables. It also features embedded modal statements for changing compiler and executable behaviour (e.g. causing the compiler to include memory structures matching database schema structures and elements, or to continue executing in spite of error conditions, which can be trapped later on).

## History

The Informix-4GL project was started in 1985, with Chris Maloney as chief architect. Roy Harrington was in charge of the related Informix Turbo (later renamed Online) engine, which bypassed the "cooked" file system and instead used "raw" disk access. It was based on software developed in 1983 by FourGen Software Technologies, which were based in Seattle. The bundled product was presented by Informix as ‘’’Forms’’’ and ‘’’Menu’’’ until 1996. This ‘’’Rapid Application Development’’’ product, marketed as FourGen CASE Tools, could access the user’s choice of ‘’’Informix’’’ and/or IBM’s DB2 databases. Another flavor of Informix programming-tool was produced, called "NewEra", which supported object-oriented programming and a level of code-compatibility with Informix-4GL.
Informix was acquired by IBM in April 2001. Despite its age, Informix-4GL is still widely used to develop business applications, and a sizable market exists around it due to its popularity. With accounting being an inherently text based activity, it is often chosen for its purely text-based interface to optimize data entry efficiency. These tools are available today on major flavors of UNIX and Red Hat Linux and SUSE Linux operating systems; the FOURGEN business was later acquired in 2002, by www.gillan.com.