OmniBasic
Manufacturer: Computer Design Lab
Phone: 573-236-4644
URL: http://www.bmtmicro.com/catalog/omnibasic.html
Price: $89 US (per copy)
Reviewer: Eric Harlow
After having installed several compilers that consume 50 megabytes of disk space, it was a relief to install a compiler that was this small—less than one megabyte. The package includes some small sample programs and a small, yet fairly complete, manual that references the OmniBasic language.
The OmniBasic compiler runs across several platforms, and the programs written for one should compile on the other platforms assuming that you do not have any platform dependencies.
Basic has evolved since the days of line numbers on every line, and this product has evolved too. The OmniBasic language is a “structured” basic language that is mostly backwards compatible with the old, line-numbered programs (just in case you need to run one of those stored on your cassette tape). The language features subroutines and functions with parameters, structured loops, file I/O, built-in string-manipulation routines (RIGHT$, MID$, LEFT$) and math functions. It also has the ability to manipulate pointers and access system functions. For backwards compatibility and for people with poor coding techniques, the language also contains the GOSUB and GOTO statements and supports line numbers.
The language takes the approach of the gnu FORTRAN compiler by converting the BASIC code to C and letting the gnu C compiler finish up the work. As a result, the programs are fast and compact, although not as small as straight C code. The OmniBasic compiler will show the output as C or assembly language, and C code can be mixed with BASIC.
OmniBasic has recently added GUI support using XForms. The beta version I tested worked well, and the release version should be out by the time you read this review. The GUI support is also expected to be cross-platform.
Eric Harlow has been running NetBrain on Linux since February 1996. He's currently a consultant at RDA Consultants Ltd. His e-mail address is brain@netbrain.com.