Basic Will Never Die: Microsoft Open Sources GW-BASIC

Microsoft has open sourced GW-BASIC, a programming language developed some 38 years ago.

GW-BASIC and variants such as QBasic, QuickBasic and others provided the onramp to computer programming for many industry veterans.

(That includes this reporter, who vaguely remembers inserting two 5-1/4 in. floppy disks into a CP/M Kaypro machine, one for the OS and one for the data. I eventually found out (although maybe it was later, on a Compaq DeskPro 286) a DEBUG command would spew out a bunch of strange characters along with occasional snippets of text, and that you could substitute that text as long as it was the same length, so you could turn "Abort, Retry, Fail?" into "Abort, Crash, Fail?" if you wanted in order to customize your error message just for fun. From there I was off and running.)

Last week, Microsoft, even though it has decided not to evolve the latest variant -- Visual Basic -- as a language, threw a bone to Basic diehards.

"Since re-open-sourcing MS-DOS 1.25 & 2.0 on GitHub last year, we've received numerous requests to also open-source Microsoft BASIC," said Rich Turner, Sr. Program Manager, Windows Console & Command-Line, in a blog post.

"Well, here we are!"

As might be expected from the rabid Basic crowd, the post was replete with commentary, 52 as of this writing. The latest comment came just yesterday, on Memorial Day: "I learned to code 32 years ago in GW-BASIC . This certainly takes me back."

The code being open sourced comes from Feb. 10, 1983, and it's all in assembly, so be prepared to deal with stuff like this:

A GW-BASIC Code Snippet
[Click on image for larger view.] A GW-BASIC Code Snippet (source: Microsoft).

The project's "Microsoft GW-BASIC Interpreter Source Code" GitHub site states the code:

  1. Is being released for historical reference/interest purposes, and reflects the state of the GW-BASIC interpreter source code as it was in 1983
  2. Will not be modified - please do not submit PR's or request changes
  3. Contains no build scripts, makefiles, or tools required to generate executable binaries, nor does it contain any pre-built binaries / executables

For a trip down memory lane, check out the post, which includes fond recollections from Turner and many commentators.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


  • ML.NET Improves Object Detection

    Microsoft improved the object detection capabilities of its ML.NET machine learning framework for .NET developers, adding the ability to train custom models with Model Builder in Visual Studio.

  • More Improvements for VS Code's New Python Language Server

    Microsoft announced more improvements for the new Python language server for Visual Studio Code, Pylance, specializing in rich type information.

  • Death of the Dev Machine?

    Here's a takeaway from this week's Ignite 2020 event: An advanced Azure cloud portends the death of the traditional, high-powered dev machine packed with computing, memory and storage components.

  • COVID-19 Is Ignite 2020's Elephant in the Room: 'Frankly, It Sucks'

    As in all things of our new reality, there was no escaping the drastic changes in routine caused by the COVID-19 pandemic during Microsoft's big Ignite 2020 developer/IT pro conference, this week shifted to an online-only event after drawing tens of thousands of in-person attendees in years past.

  • Visual Studio 2019 v16.8 Preview Update Adds Codespaces

    To coincide with the Microsoft Ignite 2020 IT pro/developer event, the Visual Studio dev team shipped a new update, Visual Studio 2019 v16.8 Preview 3.1, with the main attraction being support for cloud-hosted Codespaces, now in a limited beta.

Upcoming Events