IBM Informix-4GL

Informix-4GL is a 4GL programming language developed by Informix during the mid-1980s.

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.

It has 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 in favour of "raw" disk. A Rapid Application Development Tool called FourGen CASE Tools, was bundled with Informix-4GL from 1989 to 1996. 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.[1] New accounting applications are still being developed with Informix-4GL for this reason, such as Stansoft which was released in 2010. The Eppix telecommunication accounting system uses IBM Tuxedo services written in the C Programming Language to call pre-compiled 4GL object modules dynamically at run-time.

Extensions and alternatives

Several companies produced clone versions, with or without extended functionality, such as graphical user interfaces and integrated development environments, some examples being Four Js Development Tools and Querix. A Belgian company (Anubex) and a company in Latin America (Art-in-Soft) built a translator to the Java programming language. There is even a free GPL'ed version called Aubit-4GL. Another company called MoreData developed technology to call any 4GL function in the native 4GL-generated executables from a Java EE application server, using Java Connector Architecture.

  • Four Js Development Tools provides an IBM Informix 4gl compatible development suite and runtime environment. Multi-platform, multi-database, IDE, Desktop and Web Applications, Web-Services, Graphical Reports.
  • Querix Informix-4GL and ESQL/C Development Suite, An Informix-4GL and ESQL/C Development Tool Suite including I4GL, BDS and ESql compatible compiler, mutli-platform, multi-database, cross platform IDE (Eclipse), Rapid Development Tools,WebServices, Web API, Java API, REST API, Message Queueing, Graphic Reports, Documentation Generator, FrontEnd Programming integration (JavaScript,CSS), Cloud compatible
  • YouTube video of how to expose Informix 4gl functions as SOA services.
  • Overview at an IBM page.
  • IBM Informix product list page.
  • IBM Certified Solutions Expert—Informix 4GL Developer page.

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.