GFA BASIC

From Wikipedia, the free encyclopedia

GFA BASIC is a dialect of the BASIC programming language, by Frank Ostrowski. The first version was finished in 1986. In the mid and late 80's, it became very popular for the Atari ST homecomputer range (since the ST BASIC shipped with them was more primitive). Later, ports for the Commodore Amiga, DOS and Windows were marketed. Although theoretically still available today, it has been superseded by several other programming languages.

Screenshot of a GFA BASIC program running at medium resolution under the WinSTOn emulator
Screenshot of a GFA BASIC program running at medium resolution under the WinSTOn emulator

GFA BASIC (as of version 2.0, the most popular one) was, by the standards of its time, a very modern programming language. It did without line numbers, one line was equivalent to one command, and the IDE, to greatly simplify maintenance of long listings, even allowed for code folding. It had a reasonable range of structured programming commands (procedures with local variables and parameter passing by value or reference, loop constructs, etc.). It wasn't possible though to create structures or other agglomerated data types, and modularization was only rudimentary, making GFA BASIC best suited for small and medium-sized projects.

On the upside, the interpreter was compact and reasonably fast. It was shipped with a runtime which could be distributed freely with your own programs. Later, a compiler was available, too, which increased execution speed by another factor of roughly 2. GFA BASIC integrated neatly into GEM and TOS, the Atari ST's operating system, providing menus, dialog boxes, and mouse control (see WIMP interface).

Although the source code was usually stored in a tokenized version to save room on disk, pieces of code could also be saved in ASCII form, and as such made it possible to set up reusable libraries. The tokenized source files were a benefit in other ways too—for instance, GFA BASIC allowed users to include binary data in their BASIC code via an "INLINE" statement, and could even be integrated with the GFA Assembler to allow users to develop machine code programs inside INLINE statements in order to accelerate particular areas of a program. It also meant that the BASIC interpreter (and later the compiler) didn't need to tokenise a program when it was loaded, which would have been a significant load-time overhead for some of the larger GFA BASIC programs that were written.

The editor also won much acclaim, by virtue of being fast, comfortable and stable. One of its nicest features was the option to "collapse" a procedure with a single keystroke ("code folding"), showing only its header line with the parameters, thereby leaving more room on the desktop.

Screenshot of the GFA BASIC editor under the WinSTOn emulator
Screenshot of the GFA BASIC editor under the WinSTOn emulator

[edit] Trivia

The name is derived from the company ("GFA Systemtechnik GmbH"), which distributed the software. GFA is an acronym for "Gesellschaft für Automatisierung" i.e. "Company for Automatization".

In a time before scanners and online help, some editions of the GFA manual came printed black on red paper, to avoid successful photocopying and bootlegging.

[edit] External links