GFA BASIC

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 80s, 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.

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.). Modularization was only rudimentary, making GFA BASIC 2.0 best suited for small and medium-sized projects.

GFA BASIC 3.0 included a number of improvements over 2.0 (including support for user-defined structures and other agglomerated data types), the final released version being 3.6.

The GFA BASIC interpreter was compact and reasonably fast, and was shipped with a runtime that could be distributed freely with your own programs. When a compiler was made available, execution speed could be increased by another factor of roughly 2. GFA BASIC allowed extreme optimisations for execution speed, supporting some direct assembler-level calls, and even the ability to embed sections of assembler code directly within the BASIC source code. 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.

Read more about GFA BASIC:  Trivia

Famous quotes containing the word basic:

    It is easier to move rivers and mountains than to change a person’s basic nature.
    Chinese proverb.