Manufacturer: Computer Design Lab
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.
- New Products
- Integrating Trac, Jenkins and Cobbler—Customizing Linux Operating Systems for Organizational Needs
- New Products
- Tech Tip: Really Simple HTTP Server with Python
- Readers' Choice Awards 2013
- RSS Feeds
- Non-Linux FOSS: Remember Burning ISOs?
- Returning Values from Bash Functions
- EdgeRouter Lite