|Microsoft Open Sources GW-BASIC|
|Written by Sue Gee|
|Wednesday, 27 May 2020|
Microsoft has put the original 8088 assembly language sources for its GW-BASIC interpreter from 10th February 1983 on GitHub in a repo marked "Archived". Although released under a MIT(OSI) Licence, the files are being open-sourced for historical reference and educational purposes only. So don't consider making any pull requests!
1983 was already quite a long way into the history of a simple language targetted for hobbyists and their microcomputers. It was 20 years earlier that BASIC, Beginner's All Purpose Symbolic Instruction Code, originated at Datmouth College. Based on FORTRAN it was the brainchild of John Kemeny and Tom Kurtz, who together with their students worked on it over the summer of 1963 timesharing a PDP-1 at MIT. A few months later Dartmouth College acquired its own computer, a basement-filling GE-225 and on May 1, 1964 the first BASIC program ran, at 4 o'clock in the morning. Our history article Kemeny & Kurtz - The Invention Of BASIC goes into detail.
While BASIC quickly became popular, it wasn't universally revered. It attracted negative attention from the academic world with the first, and most remembered, broadside being delivered by Edsger Dijkstra, one of the pioneers of structured programming, in his letter, "GOTO considered harmful". Put bluntly this claimed that students who learned to program via BASIC were irrevocably brain damaged and could never reform their ways and learn a structured language.
So how did Microsoft enter this history. It was 1975 that saw the launch, in kit form, of the Altair, the first ever personal computer althougfh it would take some time for that term to be coined. Having seen the Altair on the front cover of Popular Electronics, Bill Gates phoned Ed Roberts, whose company Micro Instrumentation and Telemetry Systems (MITS) produced the Altair kits, and claimed to already have a version of BASIC for the 8080 microprocessor and that he was ready to do business. The only part of the claim that was true was the desire to be given the contract to do it. Nineteen-year old Gates and his partner Paul Allen, senior in terms of age, didn't even have access to an 8080 but at age 13 Gates had written a BASIC interpreter for the PHP-10 and to progress the project they set about writing an 8080 simulator for the PDP-10. For the rest of that part of the history see Bill Gates - Before He Was Famous.
The next step along the road was when IBM, still thought of as International Business machines and until then a manufacturer of a line of pedigree mainframes, commissioned Microsoft to write an operating system for Project Chess, its speculative venture into the world of personal computing. Along with PC-DOS, the IBM specific version of what is more generally known as MS-DOS, was a version of Microsoft's BASIC interpreter which was in two versions, in the ROM and on disk. While everyone, including Rich Turner on the Microsoft blog post announcing the open sourcing of GW-BASIC, refers to this as "IBM's BASICA" you have to remember that it, like the later GW-BASIC, was another version of Bill Gates' BASIC interpreter, originally written on a PDP-10, see the copyright notice, screendumped from GitHub only today!
There's some mystery as to the name GW-BASIC. It is often referred to as Gee-Whizz BASIC however there are some other possibilities. Greg Whitten who worked on Microsof't's BASIC compiler line from 1979 to 1988 and became Chief Software Architect wrote in 2005:
"The GW- name was picked by Bill Gates. He is the one who knows whether it was Gee-Whiz or after me because it has been used both ways."
Another possibility is that G-W could be Gates-Whitten acknowledging both men's contributions, or even Gates-William, keeping the glory for himself. However, by 1983 Bill was firmly established as Gates' name.
Whatever it is called, GW-BASIC was the language that was popular for learning computer programming until it was replaced by QBasic, the interpreter part of Microsoft's QuickBASIC with the release of MS-DOS 5.0 in 1991 and many people who used it as pleased to have it open sourced, even though what has been made available does not include build scripts, makefiles, or tools required to generate executable binaries, nor does it contain any pre-built binaries / executables.
Call us ungrateful, but can we just repeat a plea, first made in 2011 when Visual Basic reached it's 20th birthday, and then repeated 5 years later on its 25th anniversary in May 2016, for VB-6, the final one of the line of pre .NET basics, to be open sourced. That idea was roundly rejected four years ago, but a lot of water has flowed under the bridge since, including Microsoft have a large presence in open source as the owner of GitHub. So please Microsoft, put VB-6 on GitHub and let the community give it the new lease of life it deserves.
or email your comment to: email@example.com
|Last Updated ( Wednesday, 27 May 2020 )|