FreeBASIC is not a 'new' Basic language as the user must not learn anything new than DOS Basic. FreeBASIC is compatible with QBasic and QuickBasic but the author states that 'compatibility doesn't mean you can compile a source-code made for QuickBASIC and hope it will run fine'. The language itself contains only a small number of keywords: all functions are implemented as libraries. FreeBASIC does not have any new intrinsic routine, like MSGBOX for example, so there's no variable clashes with old code.
But FreeBasic offers much more that ordinary DOS Basic. Last version is partially OOP. It supports dynamic and static arrays up to 2GB, with unlimited number of dimensions, redim preserve; inline Assembly; reference to variables is by name; pointers; operators and functions overloading. It may create OBJ, LIB, DLL, console and GUI EXEs. FreeBasic is a three-in-one language (it supports three dialects, FB, FBlite and QB). While FreeBASIC isn't an optimizing compiler, it does many kinds of optimizations to generate the fastest possible code on x86 CPU's, not loosing against other BASIC alternatives. FreeBasic produces true compiled executables. The package does not come with an IDE but a third-party IDE may be downloaded from the Links section.
A free good editor for FreeBasic is Jellyfish.
Rated 3.1/5 upon 209 votes