From TheAlmightyGuru
Jump to: navigation, search
FreeBASIC logo.

FreeBASIC is a free and open source BASIC computer programming language written in C++ by Andre Victor in 2004. The language was originally designed to be a modern implementation of QuickBASIC, and can even compile most QuickBASIC programs, but it also greatly expands the original language to take advantage of modern computer architecture. The language can compile 32 or 64-bit programs for Windows, Linux, and FreeBSD as well as 32-bit programs for MS-DOS.

New features include:

  • The ability to link to C and C++ libraries.
  • Multi-threading support.
  • Many new variable types including pointers, unsigned numeric types, 64-bit integers, wide-strings, date/time, and several more.
  • It's case-insenstive.

FreeBASIC does have several problems like its inability to properly trap when you accidentally go beyond the bounds of an array or overflow a numeric value. It also has very poor Windows integration, and nearly everything you would want to do to interact with Windows, from making forms to getting the path of current user's Documents folder, requires cryptic Windows API calls. The developers also aren't really putting any effort into expanding the BASIC list of commands. For example, common string functions that didn't exist in the early BASIC specification like replace, split, and join are not and will not be implemented in FreeBASIC. Instead, the developers encourage programmers to either rewrite the commands in BASIC--which is much slower--or import C libraries--which defeats the purpose of using BASIC.

FreeBASIC itself is just a compiler, for an IDE, I suggest WinFBE Suite.


I discovered FreeBASIC sometime in the 2000s while looking for a new RAD programming language. While I was initially excited to see it, and started programming various games using it. However, the fact that the developers aren't trying to expand it has left me to continue my search. However, I still use FreeBASIC when I want to quickly prototype an idea or make a simple command line program because development is still so much faster than most other languages.



Link-Wikipedia.png  Link-Official.png