General Douglas MacArthur famously said during his 1951 farewell address to the U.S. Congress: “Old soldiers never die, they just fade away.” A half-century later, MacArthur’s famous statement could just as easily apply to programming languages. Specifically, Visual Basic.
As Don’t Get Me Started columnist David Platt recounts in this month’s issue of MSDN Magazine, Microsoft has formally extended “It Just Works” support for its Visual Basic 6 programming language through the full lifetime of the Windows Vista, Windows Server 2008, Windows 7 and Windows 8 OSes. That means the core Visual Basic 6 runtime in each OS will enjoy five years of mainstream support, followed by another five years of extended support, from the point that a given OS shipped.
While Microsoft has extended support for Visual Basic 6 within its Windows OSes, the announcement doesn’t address support of the actual development tools. Microsoft retired mainstream support for Visual Basic 6 Enterprise and Standard Editions on March 31, 2005. Extended support for the IDE ended on April 8, 2008.
As Platt notes in his column, Visual Basic 6 continues to thrive more than 10 years after Microsoft launched Visual Basic .NET to replace it. At the core of the language’s enduring appeal is its focus on simplicity. “My rule of thumb for Visual Basic 6 was: if I couldn’t do it within 10 minutes, I couldn’t do it at all,” Platt writes in his column.
Karl Peterson agrees. A longtime Visual Basic 6 developer and former columnist for Visual Studio Magazine and Visual Basic Programming Journal, Peterson has forgotten more about Visual Basic 6 than most of us will ever know. He says developers remain loyal to the language because it continues to do what they need it to do. No more. No less.
“There has yet to be a good reason to migrate Classic VB code. There’s nothing wrong with picking up new languages and starting new projects with them. But rewriting functional code, non-recreationally, just doesn’t pencil out,” says Peterson, who calls Visual Basic 6 “the COBOL of the 2020s.”
It’s no surprise that developers are reluctant to port perfectly good code, and often opt to maintain existing code and extend functionality using contemporary tools and languages. It’s an imperfect solution, but one that balances cost against stability.
“Businesses run on Classic VB. Governments run on Classic VB,” Peterson continues, before adding that he doesn’t think Microsoft would expect corporations or governments to “move to an operating system that doesn’t support Classic VB code.”
Visual Basic 6 is hardly alone as a legacy language that continues to appeal to an active community of developers. Platt says he sees “pockets” of support on the Internet for Borland Delphi, Microsoft FoxPro and Sybase PowerBuilder. There are even devs out there still working with DEC software, he says. Visual Basic, however, is unique.
“None of them is anywhere near as large as VB6, though. That huge quantity has a quality all its own,” Platt says.
What’s apparent is that legacy tools and software can thrive long after the vendor has moved on.
“It’s not like hardware, where the lack of spares forces you off the platform,” Platt says. “The Internet makes it much easier to connect with other people who use the same legacy as you.
“I’m thinking of starting a consulting company that does only legacy work, leveraging all these 50-year-old guys with institutional knowledge that can’t be found anywhere else,” Platt continues, and I’m not sure if he’s joking or not. “I’ll call it Graybeard Consulting, or Old Fart Consulting, or something like that. Because of all the books and articles I’ve written on it over the years, I still get calls to do COM now and again, and I do it if the project is interesting. And, of course, if the price is right.”
Michael Desmond is the Editor-in-Chief of MSDN Magazine.
More MSDN Magazine Blog entries >
Browse All MSDN Magazines
Subscribe to MSDN Flash newsletter
Receive the MSDN Flash e-mail newsletter every other week, with news and information personalized to your interests and areas of focus.