Est. 1991 Beginner

Liberty BASIC

A friendly, event-driven BASIC for Microsoft Windows, designed to give hobbyists and beginners an approachable way to build real GUI applications.

Created by Carl Gundel

Paradigm Procedural, Event-driven
Typing Dynamic, Weak
First Appeared 1991
Latest Version 4.5.1 (2017; last updated 2018); 5.0 in alpha

Overview

Liberty BASIC is a commercial BASIC dialect for Microsoft Windows, created by Carl Gundel and published by his company, Shoptalk Systems. It was built around a simple promise captured in its name: programming should be something anyone can do. Liberty BASIC pairs a classic, line-oriented BASIC with event-driven GUI programming, an integrated editor and debugger, and the ability to build real Windows applications — windows, buttons, menus, graphics, and sound — without the ceremony of C and the Win32 API.

Where many BASICs of the early personal-computer era were tied to the console or to a specific home computer, Liberty BASIC was aimed squarely at the Windows desktop. Its enduring niche has been the hobbyist and the beginner: someone who wants to write a useful little program with a graphical interface and see it run as a native Windows app, with a gentle learning curve the whole way.

History and Origins

Liberty BASIC grew out of a gap that opened when Microsoft Windows arrived. Microsoft had long shipped free, approachable BASICs with its operating systems — GW-BASIC and later QBasic under MS-DOS — but it chose not to bring that same free, beginner-friendly BASIC to Windows. Carl Gundel saw the opening and, as he later put it, “wrote our own version of BASIC for Windows.”

The first release of Liberty BASIC dates to the early 1990s. There is some ambiguity in the historical record: Wikipedia places the first release in 1991, while Shoptalk Systems dates the founding of the company itself to 1992, and from 1992 onward Liberty BASIC has been published primarily for Microsoft Windows. (According to Wikipedia, the language has run on 16- and 32-bit Windows as well as OS/2, so it is not strictly Windows-only.) Whichever date one favors, Liberty BASIC is firmly a product of the early-1990s transition from DOS to Windows, and it has been continuously developed and sold ever since.

One notable implementation detail underscores its lineage: Liberty BASIC’s interpreter is itself written in Smalltalk (specifically Smalltalk/V, according to Wikipedia). The development environment compiles a program’s source into an encrypted, tokenized .tkn file, which is then executed by an accompanying runtime — a design that hides the source while still keeping the friendly, interpreted feel of a classic BASIC.

Design Philosophy

Liberty BASIC’s design choices all serve one goal — keeping programming accessible:

  • BASIC familiarity. The language follows the QuickBASIC/QBasic tradition: readable keywords, structured control flow, subroutines and functions, and a forgiving syntax that lets beginners get a result quickly.
  • Event-driven GUI made simple. Building a window with controls is a first-class, approachable activity. Programs respond to events (button clicks, menu selections) through handler routines, so newcomers can create real graphical Windows applications early in their learning.
  • Batteries included. The environment bundles an editor, a source-level debugger, and built-in support for graphics, sprite animation, sound, and more — so a learner does not have to assemble a toolchain before writing a program.
  • A weakly, dynamically typed model. Liberty BASIC keeps the type system deliberately small. Variables are essentially numeric or string (string variables are conventionally named with a trailing $), with automatic conversion smoothing over the rest. This removes a category of friction for beginners at the cost of the guarantees a stricter type system would provide.

Key Features

  • Native Windows GUI programming — create windows, dialogs, menus, and controls, and wire them to event handlers.
  • Integrated development environment with an editor and a source-level debugger for stepping through code.
  • Graphics and multimedia — drawing primitives, sprite animation, sound, and (historically) joystick input.
  • Tokenized executables — programs are compiled to an encrypted .tkn file run by an accompanying runtime, rather than to native machine code.
  • DLL and Windows API access — more advanced users can call into Windows DLLs and the API to go beyond the built-in feature set.
  • Community tooling such as the FreeForm visual GUI designer (a community-extended form-layout tool) and the optional Assist add-on for formatting and profiling.
  • A small, learnable language core — a compact set of statements and functions that a beginner can reasonably hold in their head.

Evolution

Over its lifetime Liberty BASIC has been steadily refined rather than radically reinvented. The 4.0 release (reportedly around 2007–2008) modernized the interpreter and development environment, and the 4.5.x line that followed became the long-lived stable series, with 4.5.1 as the last published version (its final maintenance update shipping in 2018).

The language also spawned a small family of related products from Shoptalk Systems:

  • Just BASIC (introduced in the early 2000s) is a free, Windows edition derived from Liberty BASIC, targeted at students and newcomers who want to learn programming at no cost. Its current release, Just BASIC v2.0, is reportedly based on Liberty BASIC 4.04.
  • Run BASIC (presented around 2007) reuses Liberty BASIC technology to create a web application server — an all-in-one system, including its own HTTP server, that lets developers build database-backed web applications (with SQLite, CSS, XML, and graphics support) using a BASIC dialect instead of PHP, Perl, or ASP.

A 5.0 version has been in alpha development, with builds reported for Windows, macOS, Linux, and the Raspberry Pi, signaling an intent to take Liberty BASIC cross-platform; as of this writing it has not reached a final, stable release, so its multi-platform support should be treated as in-progress rather than shipped.

Current Relevance

Liberty BASIC occupies a small but persistent niche. It is not a mainstream professional tool and does not aim to be; its value is as a friendly on-ramp to programming and as a quick way to build modest native Windows applications. A modest community endures around the official site and forums, and the language continues to appear in beginner tutorials, in Carl Gundel’s introductory book, and as one of the many dialects represented on sites like Rosetta Code.

For learners drawn to the BASIC tradition — immediate feedback, readable syntax, and the satisfaction of making a real windowed program early on — Liberty BASIC remains a usable, low-friction choice on Windows, with its free Just BASIC sibling lowering the barrier even further.

Why It Matters

Liberty BASIC matters as a faithful keeper of the “BASIC for everyone” ideal into the Windows era. When Microsoft left the friendly, free, beginner’s BASIC behind in the move from DOS to Windows, Liberty BASIC stepped into that gap and made graphical Windows programming approachable for hobbyists and students who had no interest in C or the Win32 API. Its offshoots — Just BASIC for free classroom use and Run BASIC for the web — show how a single accessible design can be stretched in new directions while keeping the same welcoming spirit. In the long story of BASIC, Liberty BASIC is a reminder that one of the language family’s most important contributions was never raw performance, but invitation: the sense that anyone could sit down and make a computer do something.

Timeline

1991
Carl Gundel releases the first version of Liberty BASIC, created to give Windows users a friendly BASIC after Microsoft chose not to bring its free QBasic to Windows. (Wikipedia dates the first release to 1991; Shoptalk Systems dates its own founding to 1992.)
1992
From this point Liberty BASIC is distributed primarily for Microsoft Windows (with OS/2 also supported, according to Wikipedia), published by Carl Gundel's company, Shoptalk Systems.
2004
Just BASIC is introduced (reportedly in the early 2000s) as a free, Windows edition derived from Liberty BASIC, aimed at students and first-time programmers.
2007
Run BASIC, a web application server built on Liberty BASIC technology and bundling its own HTTP server, is presented publicly (around this time) as a way to write web apps in a BASIC dialect.
2008
Liberty BASIC 4.0 is released (reportedly around 2007–2008), a significant modernization of the interpreter and development environment.
2017
Liberty BASIC 4.5.1, the last stable release line, is published.
2018
The final maintenance update to version 4.5.1 is released, the most recent officially shipped version.
2020s
Liberty BASIC 5.0 is developed in alpha, with builds reported for Windows, macOS, Linux, and the Raspberry Pi; it has not had a final stable release.

Notable Uses & Legacy

Hobbyist Windows applications

Liberty BASIC's core audience: hobbyists building small utilities, calculators, games, and personal tools with a native Windows GUI without learning C or the full Win32 toolchain.

Programming education

Used as a gentle first language for beginners and students, including through Carl Gundel's book 'Beginning Programming with Liberty BASIC,' which teaches fundamentals using the language.

Just BASIC

A free derivative aimed at classrooms and newcomers, letting learners write and run BASIC programs on Windows at no cost.

Run BASIC web applications

A web programming system based on Liberty BASIC that lets developers build database-backed web apps (with SQLite, CSS, and graphics support) using BASIC instead of PHP, Perl, or ASP.

Rosetta Code task solutions

Liberty BASIC appears as one of the many languages used to implement programming tasks on Rosetta Code, illustrating its dialect against common algorithmic problems.

Language Influence

Influenced By

QuickBASIC QBasic BASIC

Influenced

Just BASIC Run BASIC

Running Today

Run examples using the official Docker image:

docker pull
Last updated: