A recent assignment in one of my CS classes had me writing a short paper on the history of any programming language (other than C/C++ or Java). So of course, the first thought that pops into my head is--"FreeBASIC?"
I found v1ctor's original threads over at QBasicNews, and in conjunction with the Project History page over at the Wiki, managed to put this together. If there's anything wrong, let me know, so I can make corrections. :)
Andre Vicentini, aka “v3cz0r” or “v1ctor”, originally began development in private in September of 2004. By October of the same year, he decided to release it publicly, releasing it as a SourceForge project and posting a thread on the QBasicNews.com forums. The QBasic community responded with enthusiasm, pitching in and helping with development as well as porting various library headers to the new language. On November 13, 2004, the FreeBASIC compiler hit a milestone as it finally gained the ability to compile itself. On the 30th of that month, FreeBASIC v0.01 was released.
Up to this point, all of the development had been done under Windows. The compiler wasn’t yet at the point where it could (easily) compile a graphical IDE, so a couple different groups formed up to create an IDE—one in Visual Basic, one in C++, and a few others in their favorite languages.
In December of 2004, Angelo Mottola ported FreeBASIC to Linux—another major step. The DOS port followed a month later, on January 31st, 2005. By that point, the graphics libraries had also been added—one step closer to syntactic compatibility with QBasic.
The end of 2005 brought with it another landmark for FreeBASIC. The WinAPI headers had been completely translated, allowing programs written in FreeBASIC to use the Windows API. Full debugging support had been added that summer, and support for UNICODE strings followed shortly.
FreeBASIC saw many changes towards the end of 2006; it was heavily re-written, and began to include object-oriented features. To preserve compatibility with QBasic, the compiler was split into two different “dialects”—QB and FB, for QBasic and FreeBASIC respectively. The QB dialect was intended to provide, as nearly as possible, 99% compatible syntax to QBasic, while the FB dialect branched off to become more object-oriented and include many new features.
Since that time, development has continued; the object-oriented paradigm is still being implemented, as are several other features. As it stands, though, FreeBASIC is already a very powerful and yet easy to use language with great potential. Many people develop games in FreeBASIC—either 2D DOS-style games, or actual 3D first-person shooter or racing games in conjunction with OpenGL. The limits are almost endless; as more object-oriented functionality is implemented, FreeBASIC could be as useful and wide-spread as C/C++.