History of BASIC, Part 3
The GUI Transformation
This post is part of a series on the history of BASIC. You may wish to read the History of BASIC, Part 1, and the History of BASIC, Part 2.
In the late 1980s and early 1990s, the computing landscape was rapidly changing. While the IBM PC had launched in 1981 and is credited with starting the 16bit era, the home micro market was largely still an 8bit affair. The Commodore 64 was the best selling single computer model of all time, and it was a creature of the 80s. It booted straight to BASIC, had a 6502, and 64K RAM. The IBM PC was a 16bit 8088 with an 8bit bus, 16K-64K RAM (expandable), and if one lacked PC-DOS, it would boot to BASIC from ROM. The Atari machines also booted to BASIC. The Macintosh launched in 1984, and the Amiga in 1985. Neither of these were incredibly successful upon launch but they did have BASICs available for them. The Commodore 64 and Atari 8bit machines had taken the affordable market, and the PC had taken the high-end market. Still, it was clear that the future would be graphical.
In 1988, Alan Cooper, seeing this graphical future, created a language called Ruby (no relation to the modern programming language of that name). This allowed for the drag and drop creation of graphical user interfaces. This language targeted Windows specifically. Cooper demonstrated the language for Bill Gates, and Microsoft subsequently purchased it because, as Microsoft’s website said at one point: “building a simple Microsoft Windows®–based application could have been described as unruly, complicated, and time-consuming.”
Abort, Retry, Fail is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.
Ruby itself was an interface builder and widget set. It didn’t have a full language for program creation. To this end, Microsoft adapted QuickBasic. Ruby did, however, have the ability to load gizmos. These were DLLs that contained controls or widgets. These became the VBX interface. All together, this was Project Thunder initiated in 1990.
Microsoft had rather lofty ideas initially. They wanted a fully object-oriented, graphical, integrated development environment. Time wasn’t on their side. Instead, they would release what was essentially QuickBasic 4.0 with an interface builder based upon Cooper’s Ruby (complete with VBXs). This was Microsoft VisualBasic 1.0 first demonstrated to the public in May of 1991 at COMDEX in Atlanta, Georgia held at the Georgia World Congress Center. DOS users had to wait until the following year.
VB 1.0 was slow, and didn’t allow for highly sophisticated programs. These were addressed with version 2.0 in November of 1992. Not only did VB2 allow for greater program complexity and increased performance, it also allowed developers to make use of databases through ODBC, and it supported the multiple document interface (MDI). With VB3 in 1993, VisualBasic gained Microsoft Access integration, Crystal Reports, and networking capabilities.
VisualBasic proved to be a popular tool for software development and automation. It was easy to use and offered sufficient power to get things done. Other applications were growing in complexity and there was a growing need to automate tasks within those applications where simple macros were being found insufficient. To this end, Microsoft released Visual Basic for Applications in 1993 with Excel 5.0. This was an incredibly successful product, and it found rapid adoption within the business market. This success moved Microsoft to include VBA in the rest of the office product line. In 1996, VBA gained object orientation.
The graphical user interface effectively killed older versions of BASIC. Support for VisualBasic 6 ended on the 31st of March in 2005. Visual Basic .NET was introduced in 2001 and effectively supplanted the traditional line of BASIC compilers and IDEs that Microsoft produced. Still, VBA 7.1 exists for Office 2021.
Today, most developers neither start with nor use BASIC, but BASIC was the beginners’ language from 1964 until the mid-1990s. It largely accomplished the mission of its maker. While many reasons are given by people for the fall in popularity of BASIC, I personally think its popular decline is due to Java. With the rise of the World Wide Web and Java’s positioning as a network ready and Web ready language, Java became the new hotness. It gained a foothold in educational settings right as computer science education was becoming more formalized and widespread. As a response to Java, Microsoft created .NET and C#, and therefore BASIC was put on life-support… where it essentially remains to this day.
Personally, I feel that BASIC was the perfect tool for its time, and I think it executed on its purpose in a way that few tools do. It enabled the growth of the hobbyist and early home micro computing market, and it taught many the essentials of programming. It’s very difficult to fully articulate the appreciation I have for Kemeny’s vision of accessible computing. His vision was ahead of its time. That same vision arose through the avenue of his creation when it was ported to the Altair 8800. Members of the Homebrew Computer Club saw that language loaded into an Altair by paper tape, and they dreamed of a world where computers could be owned and used by everyone. This accomplishment is absolutely magnificent and we live in a world shaped by it. Thank you, John George Kemeny. Requiescat in pace.