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


Subscribe on YouTube