FreeBASIC is a successor to the QuickBASIC programming language. Changes were made during development to keep FreeBASIC compatible with modern utilities, and facilitate advanced programming features. In order to keep the compiler moving forward, GCC compliant, and to also retain the ability to use a QuickBASIC-compatible language, the -lang option set was created.
When choosing Language Set FB (-lang fb as a command-line argument), all of the new features that FreeBASIC offers are available, and the "hackish" features from QuickBASIC (that were incompatible with modern programming practices) are disallowed.
Choosing Language Set FB-Lite (-lang fblite) provides access to most of the new, non-object-oriented features of FreeBASIC, but allows a coding style similar to that of older versions of BASIC. Syntax rules, such as allowing implicit variables, suffixes,
RETURN,numeric labels, etc., are permitted in this lang option.