Microsoft’s Visual Basic: Why it won, and why it had to die

Microsoft’s Visual Basic: Why it won, and why it had to die

Developer Alan Cooper conceived Microsoft’s Visual Basic (VB) as a “shell construction kit,” according to a new history written by Retool head of design Ryan Lucas. This was in 1987, when Windows was winning users but writing applications for the operating system was hard. The prototype was called Tripod, and allowed drag and drop of objects like buttons and listboxes onto a design surface.

According to the post by Lucas, the naming of these design objects changed over time, from “waldos” to “gizmos” to “controls.”

The project was shown to Microsoft CEO Bill Gates, who agreed to bundle it with the upcoming Windows 3.0. This did not happen though, for reasons that are not clear but might include politics over OS/2, which was supposedly going to replace Windows, or conflict with the team building Windows itself.

Instead, the project which was then codenamed Thunder, became a Business Language project and was shipped in 1991 as a version of BASIC. “The final product horrified Cooper, who loathed BASIC,” Lucas writes.

Nevertheless, it was the beginning of a programming model that became hugely popular, and the significance of VB both for Windows and for software development in general is hard to overstate. Lucas writes: “By the time Visual Basic 6.0 was released in 1998, its dominance was absolute: two-thirds of all business application programming on Windows PCs was done in Visual Basic. At its peak, Visual Basic had nearly 3.5 million developers worldwide, more than ten times the number of C++ programmers.”

Lucas interviewed Alan Cooper, as well as Micheal Geary from the original Microsoft VB team, and describes assembling the history as a “labor-of-love project.” He adds: “I think we lost something when we lost Visual Basic. In many ways, we’ve spent the last 25 years chasing the ideas that it got pretty right.”

Visual Basic 6.0, the stuff of dreams – or nightmares?

According to Lucas, Microsoft made an “unforced error” when it released VB.NET in 2002. Although the language was similar, there was no migration path, and new .NET features such as full object orientation were not wanted by VB developers. Usage dropped, and today VB.NET is a poor cousin to C#, which dominates .NET programming. Further, Microsoft has lost its hold over business application development, with .NET just one of many popular approaches.

The reality though is that by the time .NET was released, VB was already losing ground. Its ease of programming fell apart in large, complex applications, and developers had to trouble themselves with arcane COM concepts like apartment threading. VB applications also had to be supplemented by direct calls to the Windows API, and the language had many oddities, such that author Bruce Mckinney called the last chapter of his book Hardcore Visual Basic: “Bring your Hatchet.”

Some VB developers had also discovered, in the late 1990s, that a Borland tool called Delphi was superior to VB in almost every way: more powerful, faster, and compiling native code applications that were easier to deploy. Delphi’s form designer was influenced by VB, and its inventor, Anders Hejlsberg, moved on to Microsoft where he created both C# and later, TypeScript.

Microsoft did the best it could with VB, ensuring that the runtime is still supported today, and continuing to use it as the macro language in Office. The .NET platform served the company better than VB as an answer to Java, eventually even becoming a cross-platform solution in the guise of .NET Core.

None of that takes away from the excellence and influence of VB. It is also true that Microsoft has struggled to recapture the simplicity and productivity of the original VB for what it now calls citizen developers, despite many attempts. You can find more on the fate and slow death of Visual Basic here and earlier here, over on The Register.