Est. 2007 Beginner

Run BASIC

Run BASIC is Carl Gundel's 2007 web-programming dialect of Liberty BASIC that hides HTTP entirely - no GET, no POST, no CGI, no session code - so a classic line-numbered-style BASIC program with INPUT and PRINT statements becomes, unmodified in spirit, an interactive multi-page web application

Created by Carl Gundel of Shoptalk Systems (maker of Liberty BASIC since the early 1990s), announced with Scott McLaughlin credited alongside him as co-creator in the launch post

Paradigm Procedural, line-label-based BASIC (GOTO/GOSUB-style branch labels in brackets, e.g. [start], plus SUB/FUNCTION-style subroutines) extended with a request-free, stateful web-page model: PRINT and INPUT statements and GUI-widget commands (BUTTON, TEXTBOX) build a page in place of HTML forms and handlers
Typing Dynamic; BASIC-style variable suffixes distinguish types by convention (a trailing $ marks a string variable, e.g. yn$), inherited directly from Liberty BASIC's conventions
First Appeared 2007 - the runbasic.com site went live as a free, browser-based BASIC sandbox on 23 January 2007 (announced by Carl Gundel and Scott McLaughlin on Gundel's blog); a downloadable, licensed 'Run BASIC Personal Server' for Windows followed by May 2008, with Mac OS X and Linux builds added by December 2008
Latest Version Build 2.27 was the version number displayed by the online console as of mid-2008; the desktop Personal Server product was distributed as v1.01 by December 2008. No later version numbers were found, and AlternativeTo lists the project as discontinued

Run BASIC is a small, now-discontinued dialect of BASIC that Carl Gundel of Shoptalk Systems built in 2007 to solve one specific problem: he wanted people who already knew how to write a simple, interactive BASIC program - INPUT, PRINT, a FOR loop, a jump back to a label - to be able to run that same program as a web application without learning HTML, sessions, or the Common Gateway Interface. It grew out of Liberty BASIC, the Windows BASIC interpreter Gundel had sold since the early 1990s, and it shipped first as a free browser-based console at runbasic.com in January 2007, then as a paid, downloadable “Personal Server” for Windows, Mac and Linux through 2008. It never became widely used, and the language and its website are gone today, but it is a clean, well-documented example of a “batteries included” scripting environment that tried to make the statefulness of the web disappear.

History and Origins

From Liberty BASIC to the web (2006-2007)

Carl Gundel had already spent roughly a decade and a half selling Liberty BASIC, a Windows-only BASIC interpreter built, by his own account on Shoptalk Systems’ “About” page, because Microsoft chose not to bring QBasic to Windows. By late 2006 his blog, “BASIC Programming,” was previewing “a sneak peek at our web BASIC,” and on Tuesday, 23 January 2007, he and a collaborator, Scott McLaughlin, announced that the new site was live: “The new Run BASIC site is now up! This site is a starting point for new web technologies that use Liberty BASIC [as] the core language. The site is a modest (but very cool) demo of what’s to come.” At that point Run BASIC was purely a free, in-browser sandbox - no installation, no purchase - running what the site’s own footer called “Build 2.18.”

Uptake was immediate for a niche hobbyist tool: on 4 February 2007, Gundel reported “more than 1500 unique visitors” in the first two weeks, alongside “a handful of server crashes” and “numerous bugfixes.” He used the moment to sketch a roadmap: a downloadable “Run BASIC personal edition” for Windows, Mac and Linux, priced at an estimated $20 to $30, followed eventually by “an educational system for instructors” in which students would have individual accounts and work through browser-based lessons. He also noted, tellingly, that the compiler and runtime work “feeds directly into the Liberty BASIC v5.0 effort” - Run BASIC doubled as a public alpha test of engine changes destined for the desktop product.

Building out the console (spring-autumn 2007)

Over the following months Gundel’s blog logged a steady stream of features landing in the free online console: CSS class-tag support and “component-based web development” in June, in which one Run BASIC program could be embedded inside another and rendered as a reusable UI component; an embedded SQLite database, reachable with a single SQLITECONNECT statement, also in June; and, on 20 June - nine days before Apple’s iPhone actually shipped - a post looking ahead to the device’s Safari browser as a future way to reach the Run BASIC site. A “Run BASIC Personal IDE sneak peek” post on 17 March showed the direction of the standalone product, and by 11 September 2007 Gundel announced that “Run BASIC enters beta testing” for that personal edition. A built-in XML parser, useful for reading data fetched from other sites, is documented in a 27 September post.

The Personal Server product (2008)

By 9 May 2008, runbasic.com had shifted from “modest demo” to storefront: the header now read “Run BASIC Build 2.27 - Powered by Liberty BASIC,” and the front page sold “Run BASIC Personal Server” - “an all-in-one system for Windows that makes programming for the web easy and fun” - for $59.95, with Mac OS X and Linux versions marked “coming soon.” A promotional document, “Run BASIC - A Breakthrough Web Application Server,” whose sample output is dated “Copyright 2007, Shoptalk Systems,” laid out the pitch at length: no state to manage, no GET or POST, and “you never even have to think about the Common Gateway Interface.” By 7 December 2008 the promise had been kept: the site offered a free “v1.01” edition for Windows, for Mac OS X on both Intel and PowerPC Macs, and for Linux, alongside the paid Personal Server, confirming that Run BASIC applications ran, in the company’s words, “on Windows, Linux and Mac computers and many cell phones.”

A long tail, then silence

Run BASIC did not vanish immediately after 2008. Wayback Machine snapshots show runbasic.com still serving its usual “Build” branding and download links as late as 25 June 2021, the most recent live snapshot located in this research, and the software cataloguing site AlternativeTo carries a Run BASIC listing (last updated 9 December 2020) that still lists Build 2.27 as the current version while describing the project as discontinued. As of this writing in September 2026, the runbasic.com domain refuses connections outright, and no successor project, open-source release, or archive mirror of the installer was found - Run BASIC survives only in Wayback Machine snapshots, Gundel’s old blog posts, and the PDF pitch document.

Design Philosophy

Hide the web, keep BASIC

The promotional PDF states the goal directly: “Run BASIC allows you to apply your desktop programming skills to create web applications without struggling with the overhead of typical web programming frameworks… Run BASIC hides the web technology so you can just code.” Its worked example is the kind of program a Commodore or TRS-80 owner, or a QBASIC student, would recognize instantly - an interactive multiplication-table generator using INPUT, nested FOR loops and a GOTO-style jump back to a [start] label:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
'Multiplication table
[start]
  input "How many columns?"; cols
  input "How many rows?"; rows
  for x = 1 to cols
    for y = 1 to rows
      print x*y; " ";
    next y
    print
  next x
  input "Do it again (Y/N) "; yn$
  if yn$ = "y" or yn$ = "Y" then [start]
  end

The PDF’s point is that an equivalent web application built with “other tools” would need to be “broken up into a web page that asks for the columns and rows, a script file to generate another page with the table and to ask to do it again, and then another script file to process that request” - with the values for cols and rows threaded through by hand. Run BASIC, by contrast, “does all this work for you automatically.”

The 1980s home-computer boot experience, reborn

Gundel frames the design as a conscious echo of early microcomputers: “When BASIC was at the peak of its popularity in the 1980’s most people who used it were users of home computers… With the flick of a power switch the user would almost instantly see” a BASIC prompt, ready to type and run. “Run BASIC is similar in its conception. Everything you need to write web programs comes built right in. Just start it up and you’re ready to create something useful.” The corollary, stated with a certain confidence, is that “people familiar with web programming aren’t prepared for its simplicity because they think that CGI programming is easy,” while newcomers “will quickly take it for granted that all web programming is so simple.”

A server that hides the server

Rather than being “a module that you load into a web server like Apache” - which the PDF argues forces the programmer to also learn “session management” and “preserving state between requests” - Run BASIC is itself a complete web server with the language built on top, distributed as a single installer. “Once you have it running a single button launches your web browser and connects it to the Run BASIC server. This becomes your programming interface. You write code and test it right away in the browser.” All of the code for a program lives in one editor, “a really important” property because, the PDF argues, “most modern web tools force you to break your program code up into different pieces.”

Key Features

Automatic state and control flow

The feature Gundel calls “very special” is that a Run BASIC program can be written as a classic, blocking, terminal-style interactive script - the multiplication-table example above - and the server transparently turns each pause point (an INPUT, or later a WAIT) into a fresh HTTP response that waits for the next request, then resumes execution exactly where it left off, with all local variables intact. No cookies, hidden form fields, or database rows are written by the programmer to make this work.

Widgets in the print stream

User-interface controls are added to the page the same way text is - by printing them in sequence - and respond to clicks through named event-handler labels or subroutines:

1
2
3
4
5
6
7
8
9
print "The time has come for all good men to come"
print "to the aid of their country."
button #go, "Go!", [makeItHappen]
print "The quick brown fox jumped"
print "over the lazy dog."
wait
[makeItHappen]
  print "Carpe diem!"
  end

The same button can instead invoke a named SUB, which receives the widget’s identifier as a string argument, giving the programmer a choice between the terminal-BASIC label style and a more structured subroutine style.

Built-in graphics and a database

A GRAPHIC object plus a small set of drawing verbs let a program build a bitmap and place it on the page with a single RENDER statement:

1
2
3
4
5
6
7
8
graphic #sineGraph, 300, 200
#sineGraph size(3)
for x = 1 to 300
  #sineGraph color("blue")
  #sineGraph set(x, 85*sin((50+x)/25)+100)
next x
render #sineGraph
end

Data persistence was handled by an embedded SQLite database, reached with SQLITECONNECT and a handful of object-style method calls (execute(), disconnect()) - the PDF specifically praises SQLite for needing “no installation” and “no trained administrator.”

Components and DIV-based styling

Any Run BASIC program could be invoked from another with the RUN statement and rendered into the calling page with RENDER, letting one interactive mini-application (in the PDF’s example, a colored sine-wave plotter driven by a textbox and button) be embedded, still fully interactive, inside a larger page - “Components do not need to be rendered onto the user interface,” the PDF notes; “they can also be used as libraries of shared code or even as objects in an object oriented fashion.” For layout, Run BASIC treated DIV as a first-class block construct with matching END DIV, letting the compiler catch unbalanced tags, and let CSS rules be attached directly to a DIV or widget with CSSID.

Evolution

MilestoneDateNotes
Free online console launches23 January 2007“Build 2.18,” browser-only, no download
SQLite, CSS, iPhone accessJune 2007Documented in a run of blog posts
Personal edition beta11 September 2007Standalone desktop server enters beta
XML parser27 September 2007Documented on Gundel’s blog
Personal Server on sale, Windows onlyby 9 May 2008“Build 2.27” branding; $59.95, Mac/Linux “coming soon”
v1.01 released for Windows, Mac OS X and Linuxby 7 December 2008Free edition available on all three promised platforms
Site still livelast confirmed 25 June 2021Wayback Machine snapshot
Domain offlinechecked 2 September 2026Connection refused; no successor found

No version numbers beyond “Build 2.27” (the online console, as displayed on the site through at least mid-2008) and “v1.01” (the downloadable Personal Server, as of December 2008) were found in the sources available for this article; if later builds existed, no record of them survives in the snapshots examined.

Current Relevance

Run BASIC is not runnable today by any means found in this research: the official site is offline, no source code was ever released as far as could be determined, and no Docker image, package, or actively maintained fork exists. AlternativeTo’s listing, last touched in December 2020, already treated it as a dead product, and the domain itself persisted for a few more years as a static, unchanging storefront before disappearing. What remains is documentary: Carl Gundel’s “BASIC Programming” blog, still readable through the Wayback Machine, and the “Breakthrough Web Application Server” PDF, which together give an unusually complete picture, for such a small product, of how it worked and why it was built.

Why It Matters

Run BASIC is worth remembering less for its market impact, which was modest, than for how directly it attacked a specific piece of programmer pain: the mismatch between the stateful, top-to-bottom mental model that beginners learn BASIC with and the stateless, request-per-page model of the web that they then have to learn separately to put anything on the Internet. By making INPUT itself the mechanism for pausing a running program until the next HTTP request arrived - rather than asking the programmer to manage sessions or hidden form fields - Run BASIC let a program that looked exactly like 1980s home-computer BASIC become an interactive multi-page web application with no code changes. That same idea, that a language runtime should absorb the complexity of request/response cycling so ordinary sequential code can “just work” as a web app, resurfaces in later and much better-known systems for building stateful web UIs from procedural-looking code. Run BASIC’s real place in the encyclopedia is as a small, well-documented, single-author demonstration of that idea a decade or more before it became a mainstream concern - built, fittingly, by the same person who had spent the 1990s trying to make BASIC itself simple again for Windows.

Sources

  • Carl Gundel, “Run BASIC - A Breakthrough Web Application Server” (PDF), libertybasic.com/RunBASICBreakthrough.pdf (undated; example output dated “Copyright 2007, Shoptalk Systems”)
  • Carl Gundel, “BASIC Programming” blog (basicprogramming.blogspot.com): “New web BASIC launched!” (23 January 2007), “Run BASIC Two Weeks Report” (4 February 2007), “Run BASIC Personal IDE sneak peek” (17 March 2007), “Adding SQLite to Run BASIC,” “Run BASIC and the iPhone,” “Component Based Web Development,” “Support for CSS class tags” (June 2007), “Run BASIC enters beta testing” (11 September 2007), “Parsing XML in Run BASIC” (27 September 2007) - all retrieved via Wayback Machine CDX API and id_ snapshots
  • Wayback Machine snapshots of runbasic.com: 7 February 2007, 9 May 2008, 7 December 2008, and CDX-listed snapshots through 25 June 2021
  • Shoptalk Systems, “About” page, libertybasic.com/aboutshoptalk.html
  • Wikipedia, “Liberty BASIC” (lists Run BASIC as a major implementation)
  • Wikidata, Run BASIC (Q7379495)
  • AlternativeTo, Run BASIC listing (alternativeto.net/software/run-basic/about)

Timeline

2007
On 23 January, Carl Gundel and Scott McLaughlin launch the runbasic.com site, describing it as 'a starting point for new web technologies that use Liberty BASIC as the core language.' It runs as a free, in-browser BASIC console (Build 2.18) with no download required
2007
By 4 February, Gundel reports 'more than 1500 unique visitors' in the site's first two weeks and announces plans for a downloadable 'Run BASIC personal edition' for Windows, Mac and Linux, priced at an estimated $20-$30; a 'Personal IDE sneak peek' post follows on 17 March
2007
Through the spring and summer the online console gains features documented on Gundel's blog: CSS class-tag support and component-based web development (June), an embedded SQLite database via SQLITECONNECT (27 June), and, on 20 June, a post anticipating the not-yet-released iPhone (which shipped 29 June 2007) as a future way to reach the Run BASIC site
2007
Run BASIC enters beta testing for the standalone personal edition on 11 September, and a built-in XML parser is documented on 27 September
2008
By 9 May, runbasic.com is selling 'Run BASIC Personal Server' - build 2.27 branding, Windows only ('Mac OS X and Linux coming soon') - for $59.95, alongside the free in-browser demo; a promotional PDF, 'Run BASIC - A Breakthrough Web Application Server,' describes it as hiding GET, POST and the Common Gateway Interface entirely
2008
By 7 December, the site offers a free 'v1.01' edition for download on all three of its promised platforms: Windows, Mac OS X (Intel and PowerPC builds) and Linux, alongside the paid Personal Server
2020-2021
runbasic.com remains reachable through at least 25 June 2021 according to Wayback Machine snapshots; AlternativeTo's listing (last updated 9 December 2020) already describes the project as discontinued, with Build 2.27 still the newest version it records
2026
The runbasic.com domain refuses connections when checked directly, and no successor project, open-source release, or Docker image was found; Run BASIC survives only in archived snapshots and Carl Gundel's blog posts

Notable Uses & Legacy

Liberty BASIC community demos

Gundel's blog describes community members building sample applications directly in the free online console, including 'a graphical hangman' game he says was written by 'one of our users' with no prior web programming experience - the kind of small demo the site's Examples and Write Your Own tabs were designed to encourage

Personal/home web publishing

The Run BASIC Personal Server was pitched at hobbyists who wanted to 'host a web site and share programs' from their own machine, in Gundel's words from the February 2007 roadmap post, without learning session management, CGI, or a conventional web framework

Small business and mashup scripting

The promotional PDF lists creating 'a custom app for your office,' making 'a dynamic web site for your business,' and grabbing 'data from web sites for a custom mashup application' as the product's intended uses, aimed at people who already knew desktop BASIC programming but not web technology

Planned classroom deployment

In the February 2007 roadmap post, Gundel described a planned 'educational system for instructors' built on the same server, in which 'each student can have an account' and work through lessons in a browser at home or at school; this is presented as a plan rather than a shipped product in the sources found

Language Influence

Influenced By

Running Today

Run examples using the official Docker image:

docker pull
Last updated: