Deep dive · 03
Visual Basic 6.0: The Classic
Released in 1998, retired by Microsoft in 2008, still executing in production in 2026. No version of Visual Basic earned its nickname the way 6.0 did.
01What shipped in the box
Visual Basic 6.0 arrived mid-1998 as the headline act of Visual Studio 6.0, the last of the classic Visual Studios before the .NET reboot. By then the product was a decade old and the accumulated refinements showed. The IDE offered the now-canonical quartet (Toolbox, form designer, Properties window, code window) plus the Immediate and Watch panes that made debugging feel less like archaeology and more like conversation. The versions and choices are chronicled in the complete history.
The headline technical features were data-first. ADO, ActiveX Data Objects, became the star data-access layer, leaner than RDO, more forward-looking than the DAO of VB3 vintage. Data Environment designers let you wire database connections with drag-and-drop; the Data Report designer gave the language the thing every business actually wants, which is a printed page. A new, faster compiler, better string handling, and Microsoft's nod to the coming web (DHTML projects and Webclasses for IIS) rounded out the release.
02Why 6.0 became THE version

Every successful tool finds a sweet spot between power and approachability, and VB6 found the largest one any Microsoft language has found since. Its event-driven model mapped cleanly onto how non-programmers already thought about software: when the user clicks this, do that. Its forms were visual objects with editable properties, which meant half of "programming" was really just filling in a well-organised spreadsheet. Yet underneath sat a real compiler producing real native executables, COM interop, and database access strong enough for banks, factories and hospitals.
The result was that rare product beloved by two constituencies that usually despise each other: the hobbyist shipping shareware from a bedroom, and the consultant billing enterprise rates for a departmental system. Both were being productive within minutes of installation, and both were using the same tool. Industry surveys at the turn of the millennium regularly placed Visual Basic at or near the top of most-used languages worldwide.
A VB6 project is a small family of plain-text files: a .vbp project file, one .frm per form (layout and code together), .bas modules, .cls class modules. Compiled output is a 32-bit EXE that leans on msvbvm60.dll, the Visual Basic Virtual Machine 6.0 runtime, with a choice between compact p-code and native compilation. Many canonical patterns from these files are annotated in the code depot.
03The long goodbye
Then came the interruption described in detail in VB.NET and the Great Split: in 2002 Microsoft replaced the language with an incompatible successor and asked the world's largest programming community to migrate. Many did. Many did not, and the holdouts had leverage, because the runtime just… kept working.
Microsoft ran out the clock formally: mainstream support for the VB6 IDE ended in 2005, extended support ended in 2008. A public petition asking the company to keep classic VB alive gathered thousands of signatures; Microsoft's answer was a compromise that matters more in retrospect than it seemed to at the time: the VB6 runtime would ship in every Windows release for the lifetime of the operating system. The programme was known, with bureaucratic understatement, as "It Just Works". It has held: the runtime is present and supported in Windows 10 and Windows 11 today, which means a compiled VB6 EXE from 1999 can still double-click-run on a current machine a quarter-century later.
04The world VB6 left behind

That afterlife created a genuinely unusual situation in software history. The tool is unsupported, unobtainable through legal retail for years, and discontinued by its maker, and yet an uncountable mass of VB6 systems remains in production: manufacturing interfaces, logistics tools, laboratory software, the nervous systems of small and medium businesses on every continent. Estimates of the surviving codebase run to millions of lines; no one seriously doubts the order of magnitude.
The depot's practical answer to those systems is Migrating VB6 Applications Today, and our map of the people still keeping the flame, including the twinBASIC project building a modern, compatible compiler, is in Where Classic VB Lives On.
A quarter century after its last patch, Visual Basic 6 remains what it always was: the shortest distance between an idea and a working program.
05The honest ledger
Nostalgia is not analysis, so the ledger deserves both columns. On the debit side: variants that hid type errors, error handling by On Error Goto label, single-threaded UI assumptions, COM registration fragility, a 32-bit ceiling, and an ecosystem now frozen. On the credit side: a runtime of legendary stability, an interface model so good its descendants still dominate, database tooling that respected the user, and the simple fact that ordinary people built extraordinary amounts of working software with it. The verdict of time has been to keep the binaries running and the memory green: a fate most of its contemporaries would envy.