The term BASIC, an acronym for Beginner’s All-purpose Symbolic Instruction Code, actually describes a whole plethora of
computer languages, not all of which are actually compatible with each other. On many home computers, the earliest
implementations of the BASIC language was as a very simple line oriented interpreter. The simplicity of the original language
made it easy for beginners to learn programming, giving rise to a whole generation of programmers who cut their teeth on
this language (although it must be said that the language’s simplicity also led to a host of bad programming practices
as programmers tried to work around the language’s limitations). Today, however, the language has grown very large and is
split into a number of different dialects (many of which bear little resemblance to the original BASIC language) and
includes support for many modern programming paradigms like structured programming (using functions or procedures) and
object-oriented programming, etc.
Listed on this page are some free BASIC compilers, interpreters, Visual Basic clones (and Visual Basic itself), and
development environments (IDEs) which you can use to develop programs using the BASIC programming language. If you
are looking for documentation or tutorials on learning or using the BASIC language, you may wish to check out
the selection of books on BASIC programming
available at Amazon.com.
Note that this page does not list commercial BASIC compilers and interpreters like
Visual Studio Professional
(which includes Microsoft Visual Basic).
Free BASIC Compilers and Interpreters
- QB64 (Windows, Mac OS X, Linux)
This BASIC compiler aims to be 100% compatible with the QuickBasic 4.5 compiler and the QBasic interpreter, but
being able to create executable files that will run on modern Windows, Mac OS X and
systems. The language has also been extended to provide support for handling
TCP/IP (internet) connections
and email, displaying graphic files, playing stereo sound and music files, using animation, displaying
True Type fonts, handling mouse and
game controller input, integrating with C++,
SDL and Windows API DLLs, etc. The compiler comes with its own IDE, although you can of course use some other
editor if you prefer.
- Microsoft Visual Basic 2010 Express (Windows)
The free Microsoft Visual Basic 2010 Express (VB 2010) lets you create programs for the .NET Framework (including .NET Framework 4)
using the Visual Basic language, an object oriented language that has very little resemblance with the original BASIC language other than
its name. Although the Express version lacks some of the features of the full (commercial) version included in
Visual Studio 2010, it is nonetheless fully functional and can be used to create complete computer programs for Windows.
- BaCon BASIC (Linux, Mac OS X, *BSD)
BaCon BASIC is a BASIC to C translator for Unix-based systems (like Linux, FreeBSD, Mac OS X, etc), which means that it takes your
BASIC code and changes it into C source code. You will then need a C compiler
to compile that code. At this time, the converter appears to be implemented using shell scripts, and you will need either the
BASH or Korn shell to run it. (Note: if you
are using Linux, chances are that you
already have BASH somewhere on your system. I’m not sure about the other systems, though.)
- Vintage BASIC (Windows, Linux)
Vintage BASIC is an interpreter with a language that is close to Microsoft’s BASIC version 2 as found in the Commodore 64. It
is “informed by (but [does] not always stick to) the ANSI Minimal BASIC standard (ANSI X.360-1978)” (as noted in its user guide).
You can enter your program using a normal
programmer’s / text editor. If you are nostalgic
for the old BASIC interpreters of bygone days, or simply want to learn to program in BASIC without having to master the event-driven,
object-oriented and window/form-based programming metaphors present in many compilers today, this BASIC interpreter may interest you.
The program works on Windows and
Linux, and is open source.
- ThinBasic Basic Interpreter (Windows)
ThinBasic is a BASIC interpreter for Windows that can be used to create and run BASIC applications on Windows as well as CGI scripts for a web server
running in Windows. It supports the addition of DLLs (called modules here) that provide additional functionality, such as the Crypto module which adds
cryptographic functions which you can call from your application,
the SMTP, FTP, TCP modules which Internet-enables your applications,
sound-playing modules, and so on.
- Chipmunk BASIC Interpreter (Windows, Mac OS X, Linux)
Chipmunk BASIC is a BASIC interpreter for Mac OS X, Linux and Windows. There is also an older version for
Mac OS 9 Classic. The interpreter provides you a traditional BASIC command line interface where you can enter programs
directly and execute them, although you can also use a text editor to write your program before passing it to the
- XBLite – xbasic BASIC lite compiler (Windows)
xblite is the free, open source version of the XBasic compiler. It comes with the compiler,
utilities, demos, source code and reference manual. It creates Windows programs (GUI or console).
You can also get free add-on DLLs for use with your program from the site (eg, DLLs for
sending email via SMTP, to embed a web-browser from within your program, to load and save
JPG, GIF, BMP, DIB, RLE, TGA, PCX image files, to create card games).
- Free Microsoft Visual Basic 2008 Express (Windows)
The Microsoft Visual Basic 2008 Express Edition is available for download, free of charge, from Microsoft. It allows you
to create programs for the .NET framework. Like all the current versions of their software, you will need Windows 2000,
XP, 2003, x64 or Vista. It comes with the MSDN Express Library and the Microsoft SQL Server Express Edition. If you are
looking for the complete Visual Basic package, you will need to buy the commercial
Microsoft Visual Studio Professional.
- Microsoft SmallBasic (Windows)
Microsoft Small Basic (no relation to the other “Small Basic” listed elsewhere
on this Free Basic Compilers page) is a small language with about 15 or so keywords designed to making it easy and “fun” for people
learning to write computer programs. It uses and creates programs for the .NET framework and works on Windows Vista and XP.
(In case you think it is something like the old BASIC interpreters that you grew up with in the days of
CP/M and Apple II, it’s not.) It comes with an IDE
with what Microsoft calls Intellisense (an autocomplete facility that gives suggestions how you can complete your keywords/function calls
as you type) and context sensitive help. They also have an incomplete (at the time I write this review) “Getting Started” guide
that is written for the newcomer to programming. (It’s incomplete in the sense that they haven’t finished writing it —
there are whole sections that are just placeholders. But the portions that are currently ready look promising.)
- Gambas – Gambas Almost Means Basic (Linux, *BSD)
Gambas is a Basic development environment supporting the Basic programming language with object extensions. It includes an
IDE, a BASIC compiler, an interpreter,
an archiver and a graphical user interface component. The archiver combines all the files in your project into a single executable file.
Although not intended to be a Visual Basic clone, it
has a visual rapid application development interface like VB. Supported operating systems include
- Decimal BASIC (Windows)
Decimal BASIC supports the syntax and most of the core modules and graphics module of the ANSI/ISO standard for Full BASIC.
This BASIC interpreter includes a debugger that lets you step/trace through your program, set breakpoints and
examine the values held in your variables when it hits a breakpoint. This is a Windows program.
- TNT Basic (Mac OS X, Mac OS 9)
TNT Basic is a BASIC interpreter for the Macintosh. It is geared towards programmers who are creating games for the Macintosh. The
development environment makes it easy for you to create and edit your code, add graphics and sprites to your program, sounds,
music, maps, and define inputs for your game. TNT Basic works on Mac OS 8.6 and above (PowerPC Mac). At the time this brief
review was written, a beta version for Mac OS X support is also available.
- GLBCC – GNU / Liberty Basic Compiler Collection (Windows, Linux)
The GNU Liberty Basic Compiler Collection allows Windows and Linux users to compile Liberty Basic
code on those platforms. Unlike the original Liberty Basic, this compiler creates standalone native
executables that do not rely on an external interpreter. GNU / LibertyBasic is open source and
licensed under the GNU GPL and the GNU LGPL.
- Mono’s VisualBasic.NET Compiler (Mono Visual Basic Compiler) (Linux, Windows)
Mono is an open source cross-platform implementation of Microsoft’s .NET Development Framework.
It includes a VB compiler (VB.NET compiler/Visual Basic compiler that generates .NET virtual
machine code, not native code) that was still under development at the time of this writing,
a runtime for CLR (the Common Language Infrastructure) and a set of libraries. You can embed
the runtime into your applications. Mono currently works on Linux (both x86 and PPC), Windows,
S390, with work being carried on for Strong/ARM and SPARC.
- FreeBASIC (Windows, Linux, DOS)
FreeBASIC is an open source (GNU GPL) BASIC compiler that is syntax compatible with QuickBASIC, QBASIC, PDS and
Visual Basic for DOS. It generates 32-bit executables that run under Windows and DOS. At the time this was written, the
compiler is still very new, and has little documentation.
- Just BASIC (Windows)
Just BASIC creates standalone programs from your BASIC source code. (I think it compiles to intermediate code which
is then executed by an interpreter.) It supports functions, subprograms, control structures like DO/LOOP and SELECT/CASE,
has a GUI builder, supports sprite animation, sound and music, and comes with a source level debugger.
- Basic4GL (Windows)
Basic4GL is a BASIC compiler for Windows with built-in OpenGL 1.1 support. It automatically handles things like initialising
OpenGL, opening an OpenGL window, etc, allowing you to get straight into writing OpenGL code. The language also has
built-in support for vectors and matrices and you can perform mathematical operations on them (add, multiply) using
vector and matrix notation algebra. Other features in Basic4GL include a 2D tile and sprite engine. The compiler generates
intermediate code which is run by a virtual machine. The IDE comes with an integrated editor and debugger.
- wxBasic (Windows, Linux)
wxBasic is a BASIC interpreter licensed under the GNU LGPL that runs on Windows and Linux.
wxBasic code “looks a lot like QBasic”. It has OpenGL support, among other things. This interpreter does not
appear to be maintained any more.
- SmallBASIC (Windows, Linux, N770/N800, PalmOS, eBookMan)
SmallBASIC is a simple language “somewhere between QBASIC and GWBASIC” (from their website),
designed to handle mathematics and graphics. It was designed to work on PalmOS, but also
works on Linux, Windows, Nokia N770/N800 and eBookMan. It is released under the GNU GPL.
- Bas BASIC Interpreter (Unix)
Bas is a Unix-based BASIC interpreter that first tokenises your
source code internally, resolving references to variables and jump
targets, before running it. It supports certain BBC BASIC extensions
like procedures, local variables and “better exception handling”.
- MoonRock Compiler (DOS)
This Basic-like language with extensions produces executables (binaries) for MSDOS real-mode or
DPMI protected mode. It comes with the ArrowSoft assembler, documentation and
sample programs. It does not seem like it’s being maintained any more.
- Mole BASIC Interpreter (Linux, AIX, Sun, BSD)
Mole Basic, or Merty’s Own Language Extension Basic, runs on Linux, AIX, Sun and BSD and
comes in (C?) source code form which you can modify to extend the language. Binaries
for Linux is also provided.
- ScriptBasic BASIC Interpreter (Windows, Unix)
This free BASIC interpreter works under Windows and Unix-type systems (including Linux). It is
distributed with its C source code under the GNU GPL and is extensible
using dynamic load libraries (or shared libraries for Linux). It actually
creates an intermediate pseudo code, which is then interpreted. The
interpreter is designed to be thread-safe, and can be embedded into
other programs or systems (like a web server). It has a CGI module,
which allows it to be used for CGI programs, as well as modules for accessing databases.
The program does not appear to be maintained any longer.
- XBASIC BASIC Compiler (Windows 9x/NT, Linux)
This is a free BASIC compiler, integrated development environment, and debugger
that runs on Windows 95/98 and NT, as well as Linux. You can actually
write graphics and GUI programs that can be compiled by both the
Windows and Linux versions without change your source code.
- Bywater BASIC Interpreter (source only)
This is a free BASIC interpreter that compiles and runs on Unix systems. It supports subsets of the ANSI Standard
for Minimal BASIC and the ANSI Standard for Full BASIC. It has been re-released under the GNU GPL (I think it was
in the public domain before) and supports MSDOS and POSIX systems (eg Unix, Linux, etc).
- BCX BASIC Compiler (Windows)
BCX is a Win32 console mode program that translates a BASIC source file into C source code
which can be compiled using LCC-Win32 (see our
Free C/C++ Compilers page for more information about this
free C compiler). It accepts a subset of modern BASIC, as well as extensions like
user-defined functions and inline C code.
- Enhanced 6502 BASIC (source only)
Enhanced 6502 BASIC is a BASIC interpreter for 6502 (and compatible) microprocessors. It is free for non-commercial use (with certain conditions -
read their site and documentation for details), and comes with source code.
- UBASIC BASIC Interpreter (DOS)
UBASIC is a BASIC interpreter for MSDOS that supports multiprecision arithmetic, up to 2500 decimal digits. It has extensive support for
maths functions and comes complete with a tutorial and a TSR online help.
- YABASIC BASIC Interpreter (source only)
YABASIC is a free BASIC interpreter for Windows, Mac OS X, and Linux. At the time this was written however, it comes
only in source code form. This is a revived version of the original YABASIC interpreter (which was no longer being
Search the site using Google.
It will appear on your page as:
Source Article from http://www.thefreecountry.com/compilers/basic.shtml