Script languages like Perl, PHP, Python and Ruby are getting more and more popular. Beside rapid prototyping capabilities they also allow the development of complex software projects in a time-saving and efficient manner.

Combining the advantages of Perl, PHP, Python or Ruby with IBM's cult databaseInformix Dynamic Server results in an extremly efficient software platform. A platform that is well primed for increasing data volumes and the most demanding high availability requirements.

All four script languages offer a database abstraction layer which allows the programming of portable database applications:

The Informix specific implementations of those database abstraction layers are all programmed in Esql/C. In order to compile the driver you need beside a C compiler the free of charge Informix Client SDK software installed. The Client SDK can be downloaded from here:

Perl has a long history and is still one of the most popular scripting languages available today. Beside the development of web based applications, Perl is heavily used in the area of system administration automation on Unix and Linux systems. Another prominent Perl area is the extraction and conversion of data due to it's outstanding text processing capabilities.

Perl provides a rich offering of additional modules for almost every task, just take a look at the Comprehensive Perl Archive Network (CPAN). The DBI (DataBase Interface) is the well established standard for accessing databases from Perl. It defines a set of abstract methods which are implemented by the underlaying DataBase Driver (DBD). The driver for accessing an Informix database is called DBD::Informix and it has been written by Jonathan Leffler, a superb Informix expert and architect of Informix@IBM. DBD::Informix is well-engineered and contains an excellent documentation.

PHP is the language of the Web and contains an awesome function library in this area. It is the foundation for many commercial and non-commerical websites today. PHP offers a Perl like syntax, is easy to learn and allows newbies to be quickly productive. In contrast to Perl the PHP programming instructions are directly embedded in the HTML page which seems to be more intuitive to most developers. However beyond the Web, languages like Perl and Python are more dominant than PHP.

PHP 5 offers a database abstraction layer called PDO (PHP Data Objects) which is included in PHP 5.1. PDO_INFORMIX is the Informix specific implementation of this abstraction layer developed by Krishna Raman and Kellen Bombardier.

Python is getting more and more popular. It has a clean, object-oriented design. Scripts written in Python have a clean structure and easy to read and maintain. The basic version of Python already contains a whole bunch of useful modules. This is called the Python batteries included philosophy, an interesting analogy to IDS Enterprise Edition which is also delivered with batteries included (Fragmentation, HDR, ER, HPL...).

There is also an interesting second implementation of Python called Jython. Jython is a pure Java implementation of the Python language and allows the developer to use Java class libraries (for example JDBC) directly in their Jython code. Check it out.

Python has quite a wide range of use. It is perfectly suited for developing ambitious software projects. However in the Web environment Perl and particulary PHP are more dominant.

The standard for accessing databases from Python is the DB-API. Carsten Haese has developed the Informix specific implemenation of this abstraction layer called the InformixDB driver.

Ruby seems to be an interesting alternative to the well established script languages like Perl, PHP and Python. With the Ruby on Rails web framework, Ruby is getting more and more important in the professional web development space.

Ruby does also provide a database independent API called DBI. The actual Ruby/Informix driver written by Gerardo Santana Gomez Garrido does currently not use the DBI. Ruby/Informix is a Ruby extension written in Esql/C. Even without the DBI/DBD wrapper, it can be perfectly used to access Informix databases from the Ruby programming language. An Informix adapter for Ruby on Rails is also available (check the link section below).

Unfortunately I didn't have the time to test Ruby myself, but Gerado was so kind to translate my example program to Ruby/Informix.