The history series · 01
The Complete History of Visual Basic
Seventeen years, six versions, one idea: let ordinary people draw a program instead of conjuring it.
01Before Basic was visual
In 1990, writing a Windows application meant C. You hand-wrote a message loop, registered window classes, painted your own controls, and paid for the privilege in weeks of work before a single visible pixel did anything useful. Windows 3.0 had just sold mountains of copies, and millions of people owned a machine whose interface they could see but not touch. The gap between using software and making software had never been wider.
Into that gap walked Alan Cooper, a Bay Area developer who had spent 1988 building a tool called Tripod, a visual shell constructor that let you design interface elements by dragging them around, then wire behaviour to them without touching a compiler. Cooper demonstrated it to Bill Gates, who reportedly described it as "a shell construction set". Microsoft acquired the technology and folded it into an internal project code-named Thunder: Cooper's visual designer married to the BASIC language the company already owned from its QuickBASIC line. The full story of Tripod, Ruby and Thunder is told in our profile of Alan Cooper.
02Thunder strikes (1991)

Visual Basic 1.0 shipped in May 1991, and it was less a product than a provocation. You drew a form, dropped a command button and a text box from the Toolbox onto it, double-clicked the button, and typed a handful of lines of BASIC. Press F5 and a working Windows program appeared. No message loop, no resource compiler, no makefile. The trade press needed a name for what had just happened and settled on an old IBM coinage: rapid application development, RAD for short.
Version 1.0 was 16-bit, modest, and occasionally eccentric (but the essential architecture was already there: the Toolbox), the Properties window, the event-driven code window, the Immediate pane for poking at a running program. That workspace and its philosophy are dissected in The IDE That Invented RAD.
03The database years (1992–1993)
Visual Basic 2.0 arrived in November 1992 with a steadier hand: better performance, ODBC support, and professional editions aimed squarely at corporate developers. But the decisive move came in 1993 with VB 3.0, which bundled the Jet database engine (the same machinery that powered Microsoft Access) through a programming layer called DAO, the Data Access Objects. Suddenly the language of accountants could talk directly to the language of accountants: tables, records, SQL. A vast ecosystem of line-of-business software, inventory trackers and reporting tools began to accrete around the product, and an entire generation of departmental IT was written in a tool nobody in the data centre had approved.
04The 32-bit leap (1995–1997)

Windows 95 changed the deal, and Visual Basic changed with it. VB 4.0 (1995) shipped in 16- and 32-bit editions, and more importantly grew up structurally: class modules arrived, along with the ability to build OLE Automation servers: reusable components other programs could drive. This was the moment Visual Basic stopped being a toy for utilities and became a platform for components.
VB 5.0 (1997) closed the last serious objection: performance. A native-code compiler replaced the old interpreted p-code as the default route to an executable, and control creation let developers build their own ActiveX controls. Magazine benchmarks showed compiled VB 5 holding its own against far more labour-intensive alternatives, and the installed base kept compounding.
05Peak Classic (1998)
Visual Basic 6.0, released mid-1998 as the crown jewel of Visual Studio 6.0, is the version the word "classic" got attached to. ADO for data access, better web and DHTML support, a mature IDE, and a runtime so dependable that Windows itself would carry it for decades. VB6 marked the high-water mark of the drag-and-drop school of programming: by some counts the most used programming language in the world at the turn of the millennium. The full anatomy of the release, its support saga and its improbable afterlife are covered in Visual Basic 6.0: The Classic.
06The end of the line (2002–2008)

The sequel was a rupture. In February 2002 Microsoft shipped Visual Basic .NET: same keywords, fundamentally different language, real object orientation, garbage collection, a shared runtime with C#. The migration path from VB6 was real but painful, and much of the community declined to cross it. Microsoft ended mainstream support for the VB6 IDE in 2005 and extended support in 2008, by which point a public petition to "save" the product had collected thousands of signatures. The politics and the technology of that split are examined in VB.NET and the Great Split.
Yet the story refused to close. The VB6 runtime remained so widely deployed that Microsoft committed to shipping it in Windows for the lifetime of the operating system: a promise still honoured in Windows 10 and 11 under the dry internal name "It Just Works". Meanwhile the language's DNA stayed everywhere: VBA inside Office, VBScript across a thousand admin scripts, and VB.NET quietly maturing. The dates and the codenames are all on one page in the VB Depot timeline.
Naming conventions worth keeping straight: "Classic VB" usually means versions 1–6. "Visual Basic" unqualified, in a modern context, usually means VB.NET. And "VBA" is its own dialect (similar syntax), different host, still shipping. We keep the three straight across this guide.