It is an GNU, GPL, OpenSource project
Yes, it will cost you nothing, but there are much more important implications that this, in out view. It's feature does not depend on anyone but you. To find out more about implications of this feature, please see www.opensource.org and www.gnu.org .
It has commercial support provider
Available as option, this will guaranty you can use Aubit 4gl in business-critical situations with confidence, and bring together best from both worlds. To learn more, please visit www.aubit.com .
Based on robust, mature, stabile, efficient and productive language
x4GL is dedicated to writing business related, database oriented applications, and this is what it does, in our opinion, best in the world. It is easy to learn, implement, and maintain. And most of all, it is at least 3 times more productive in all aspect of software lifecycle compared to third generation languages like C, and at least two times compared to best component development environments.
It's FAST!
Full n tire deployment, native C code generation compiled by optimized C compilers bring together advantages of high, human-like development language, and low, machine-level runtime execution performance. Not to mention you can interpolate C code directly in 4gl code!
It's compatible with number of commercial products
Giving you the option to mix and match features and environments based on particular situation. You will never again be locked in one compiler, one company or one database. You can develop wit commercial product, deploy with a4gl and save on runtime licensing, at the same time gaining the speed of C compiled runtime. Or you can use 4gl Wizard functionality and templates in development, and deploy using commercial runtime that supports client side functionality that is not present in Aubit 4gl at the moment
Database, OS and platform and user interface independent
ODBC means choosing database is no longer the issue. And you can develop and deploy wherever GCC compiler is available with single recompile. And because of full n-tire support, you can use CUI, GUI and Web interfaces from same code, and same compiled program, at the same time.
It already has big developers base, and big existing applications base
This is not a new language, just a new implementation of mature and successful language. So you will not need to look hard to find developers for your projects. And since 4gl is English-like in syntax, programmers with experience in any language will be productive in just few days. On top of that, you will not need to look far to find commercial, tried and tested applications in any field of business oriented database applications.
Extended syntax and functionality benefits
Associative Arrays
This productivity enhancement will make complex Array manipulations easy and
fast, and at the same time make your code easier to maintain and understand
PAUSE
Screen Handling
Will enhance usability over the slower connection lines, no matter what
front-end implementation you will deploy
ODBC Compliance
Is the crucial feature for unprecedented connectivity and freedom of
database options in 4GL world
Multiple concurrent connections
Based on ODBC access concept, this feature will enable you to not only
easily open several databases at the same time, and keep them open, but also
to open several databases from several vendors from different servers,
bringing together all database resources in corporate environments
Application Constants
Small but effective contribution to error free programs that are easier to maintain
and debug
Map Files
will for the firs time enable you to have full overview of what is your code
doing, how, and where. Indispensable for debugging and understanding of
unfamiliar code, and behavior of compiler.
Variable IDs
No more hard-coded ID names! You can specify and reference all 4GL objects
in the runtime! No more copy-and-paste code just to change ID names,
resulting in higher productivity and code that is compact and easier to
maintain.
Passing IDs to functions
One of the implications of Variable IDs, it will allow you to name objects
passed to functions, even in another module.
Embedded 'C' code.
No mere messing around external C code, and no more complex make and link
process. Just embed your C code with your 4gl code, in the same source code
file.
Move/Show/Hide Window
Enhanced windows manipulation resulting in more usable and flexible user
interfaces.
WHENEVER SUCCESS/SQLSUCCESS
Will give you new options for conditional code execution, instead of always
depending on error conditions.
Multi-level Menus
User interface enhancement that will at the same time make the coding and
ussing application faster and easier.
Extended Display Array Control
Providing many of features of INPUT ARRAY, and dynamically setting current
and display lines of array, it will eliminate need to use INPUT ARRAY logic
where input is not needed, making the result safer and code cleaner and
easier to maintain.
Extended "USING" syntax
Provides more options for commonly used date formatting in reports an on the
display, without the need to write additional code to handle this formatting,
making especially report writing more productive.
Local functions
Defining a function to be local to the module opens possibilities fore some
interesting and productive program structuring, and can also contribute to
more easily maintainable and problem-free code.
get_info function
Will enable you to get almost all of the information about the state ofthe
running program in the runtime. It will allow you to write code flexible
like never before, and achieve tasks that where simply not possible with
other x4gl compilers.
Dynamic Screen Fields
allows input field to accept more data than it will fit in screen field
size, making for more usable and flexible user interfaces.
Remote Function Calls
Will make x4gl applications for the first time enter the n-tire world.
Running programs on same or different machine, or even platform, and call
each other and execute function and return results. This can not only
enhance typical 3-tire role separation, but also facilitate multi-processing
on the level of the application, application partitioning on protocol level
and enable wired things like accessing UNIX database from Windows PC that
have no ODBC drivers for specific platform....
SELECT/DELETE/UPDATE USING
by linking a record with a table and it's primary key, this extreme
productive enhancement will automate and simplify multi-table data
manipulation to the extreme, the way it was always supposed to be, gaining
productivity and maintainability in the ways you did not experience before.
ON ANY KEY
extremely useful with array manipulation, it will simplify user interaction
logic in many places.
Compile Time Environment Setting
Ability to override many library setting in the compile time will enable you
to control compilers behavior in ways not imaginable with other x4gl
compilers
SET SESSION OPTION/SET CURSOR OPTION
Thanks to the ODBC connectivity, it is possible to assign and change all
attributes of database connection and defined database cursor at runtime,
resulting in adjustable connection attributes at the same time exploring all
the power of target ODBC driver and database from simple a4gl statement.
Application Partitioning
Thanks to user interface layer on one side, and ODBC layer on the other, and
combined with RPC calling functionality, it is now possible to fully utilize
all the resources of the enterprise environment, end-to-end, and deploy a4gl
programs from one single computer, to hundreds of connected computers
running different or same layers.
Y2K runtime translation
Two digit year support is implemented using run-time environment variable
setting, enabling you to dynamically decide interpretation of year while
preserving the code that was not written using 4 digit year functionality.
Aubit 4gl is, of course, full Y2K compliant.
Globbing
You can freely mix and use all IDs as module specific or global, allowing
you do make distinction when naming ID's at runtime, thanks to 'Variable
ID's' and the ability to pass ID's to functions as parameters. This
functionality alone can save significant time in the coding process, and
enhance the ability to isolate ID related problems extremely easy.
A4GL Wizard and program templates
Will allow the generation of full 4gl code for typical table oriented
screens, just by specifying and compiling the template with few simple
definition, much in the way that users used to use Informix ISQL tool, but
with full code generation and unprecedented flexibility, even to the point
of direct inclusion in other 4gl programs.
PDF report generation
Built using PDFlib, blah blah, FIXME: add PDF syntax to "A4GL enhancements
page"
Graphical User Interface (GUI)
Built using GTK+, blah blah, FIXME: add GUI syntax to "A4GL enhancements
page"
Interactive Development Environment (IDE)
Written completely using 4gl, this application facilitates rapid development
of any x4gl language application, while thanks to available source code
remaining fully customizable using tools and language familiar to any 4gl
language developer. FIXME: add JL's instructions to "Development
Environment" page
Please see appropriate sections of "A4GL enhancements to standard x4GL language for details of all features and syntax.