Aubit 4GL project info 


What is it?

Aubit 4GL project is a OpenSource project to make free, GPL, Informix-4GL compatible compiler, and continue to extend functionality needed to write most efficient, stabile and productive applications in business related, database oriented applications.

Aubit 4GL compiler is software that translates x4GL programming language into executable programs, enabling fast and productive creation of database oriented applications utilizing 4GL with embedded SQL and C programming languages, using ODBC to connect to databases, and GTK+ for GUI, or Ncurses for CUI presentation layers.

Little bit of history:

Long time ago, Informix (TM) (Now owned by IBM) made a Fourth Generation Language (4GL), called Informix 4GL. It was intended to be nice language for making business process, database oriented programming easy and productive. Some people agreed with this, and started making applications in that language. And over the time, they made a lot of 4gl applications. 

In the process, a lot of programmers find it easy to learn and use, stabile, fast, easy to manage, and most of all, productive. So the number of people with I-4GL skills continued growing. But, Informix was slow to respond to increased demand for feature enhancements, most notably, GUI, or reacted in a way that was not well accepted by users, like making a completely new product with limited 4GL compatibility, called New Era.

Several companies seized the opportunity, and started making compatible compilers, and extending functionality. And Informix 4GL was no longer in hands of one company, competition increased, feature where added at increasing pace, and this is where we are now. 

Read more about validity of x4gl in Internet environment and age.

Back to top

What is 4GL programming language?

"4GL" stands for "Fourth Generation Language" 

From :

An "application specific" language. The term was invented by Jim Martin to refer to non-procedural high level languages built around database systems. The first three generations were developed fairly quickly, but it was still frustrating, slow, and error prone to program computers, leading to the first "programming crisis", in which the amount of work that might be assigned to programmers greatly exceeded the amount of programmer time available to do it. Meanwhile, a lot of experience was gathered in certain areas, and it became clear that certain applications could be generalized by adding limited programming languages to them. Thus were born report-generator languages, which were fed a description of the data format and the report to generate and turned that into a COBOL (or other language) program which actually contained the commands to read and process the data and place the results on the page.

Some other successful 4th-generation languages are: database query languages, e.g. SQL; Focus, Metafont, PostScript, RPG-II, S, IDL-PV/WAVE, Gauss, Mathematica and data-stream languages such as AVS, APE, Iris Explorer.

Back to top

How does x4GL look like?

Informix-4GL, and therefore x4GL programming language is "English language-like" programming language, which is arguably one of its biggest strengths. General consensus is that that x4GL language is one of easiest to learn, and make programmers productive in shortest possible time. John McNally, author of Informix Unleashed book, say that "To develop with a 4gl, the developer does not have to be an expert programmer".  We agree. For instance:

OPEN WINDOW MyTestWindow AT 2,3 WITH FORM "FormForMyTestWindow" ATTRIBUTE( border, white )

Try to guess what this will do? Try this one:

MENU "Title for my test menu"
COMMAND "Impress Me" "Do something to impress me" help 126
    CALL ImpressMe()
COMMAND "Exit" "Exit this menu" help 127

One of favorite power tools in x4GL is Query By Example (QBE). It uses forms to ask user for search criteria, and automatically forms SQL "where part":

CONSTRUCT BY NAME MyWherePart ON AddressTable.* 

Believe it or not, that was it. If you want to learn more, see our x4gl language reference. See excellent Informix 4gl tutorial "Informix 4GL By Example" (PDF format) if you want to learn the language. If you are experienced programmer, this will probably be one of easiest languages you ever learned, and if you are just starting to write programs, this in our opinion is you best choice.

x4GL language allows for SQL commands to be embedded directly in x4GL code, and Aubit 4GL allows you to embed C language code too, creating a unique "High / Low" approach to programming. The fact is, Aubit 4GL compiler is really a "x4GL to C" programming language "translator", and actual executable programs are compiled by standard C compiler. To summarize, daily tasks related to creating database applications and reports are really easy to do, but if you need to go "deep down", you can, just as if you are programming in C. 

Back to top

Why is it?

It is, because despite increasing number of commercial I-4GL compiler makers, Informix professionals where increasingly frustrated mainly by lack of true professional and timely support from most of commercial vendors. 

It is, because we discovered advantages of OpenSource model development using other OpenSource software needed to make things work in our daily jobs, and the disadvantages in getting our job done, when having to literally beg on our knees for anything that we need from commercial companies. 

It is, because Internet enabled us to share not only knowledge, but provide a way for us to work together over it, using version control tools like CVS, change control tools, discussion tools, and other Internet enabled development and sharing tools.

It it, because we believe in it, since trough all this years, we have yet to discover more productive ways to make database oriented business applications.

And now, for one of our favorite quotes, from Crispin Gardner-Webster:

"Old saying that "information is power" is less and less valid these days. More and more value is created trough communication and sharing."

Back to top

Who is it for ?

It's for students, developers, consultants, commercial vendors, every one is invited! If you want to use it in your commercial product, use it for your customers, teach your students - it's for you. This is open project, and there are absolutely no limitations. We are not competing with anyone, and will gratefully receive help from everyone. 

To be explicit, if you work for Informix, 4Js, Querix, etc., we welcome you interest, questions, criticism, comments, help. Feel free to use any work done here, in any way that will benefit you, and hopefully, 4GL community.

Back to top

What can I do with it?

The Aubit compiler is mostly complete, but needs a little more work before it will be able to serve as drop-in replacement for current commercial solutions with simple recompile, particularly around reserved keywords. See our release schedule document on project site. If you are prepared to manually resolve few issues here and there (or just report them to us so we can fix them),  you can compile and run most existing 4gl code with it. You can also learn 4gl language with it, and if you have the skills and will, help us develop it. Given the fast pace of development in last year, we believe it is just a matter of time before Aubit 4gl will start offering stability and performance needed in production environments.

Back to top

What can I do for it?

You can do a lot. You can participate in discussing the development directions, share your needs and views, and if you have 4gl and C skills, SQL/ODBC skills, or maybe Java, TCL/TK, GTK++ or similar skills for GUI interface development, you can join the development process. We are also looking for 4GL programmers, that are willing to donate/develop 4GL applications and / or libraries. You can also help with documentation and web site. We are also looking for a nice logo! Good starting point is to join out email discussion list.

Back to top

Who wrote it?

Original author of Aubit 4GL is Mike Aubury, of Aubit Computing Ltd. Original authors of 4GL language are unknown to me, but Informix was the company to release initial compiler. According to Jonathan Leffler, the name Roy Harrington is one of "responsible". Thank you, Roy - we really love this language!

Back to top

More, more!

Back to top

I want to help!

Great! email Mike Aubury to get full read/write CVS access. Note: you DO NOT need ANY password to browse and download code from CVS, ONLY if you plan to commit changes to CVS!

Back to top

Aubit 4GL compiler home page

Aubit 4gl project is hosted by:

SourceForge Logo