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.
I use Microsoft Visual Foxpro 9 and have done ever since it's initial VFP 3 introduction by Microsoft. We won't go back to the DBASE and Foxbase heritage, it makes me feel too old! As with Delphi, the upgrade to VFP9 is simple a recompile from most versions of Visual Foxpro but we can also use most Xbase legacy software as well even though the results sometimes look really ancient. However, I digress and the main point is that there is probably another 10 years life at least left in this product even for producing new projects as it is definitely a superb data centric desktop application development IDE with no runtime costs. OK it hasn't and won't ever be updated beyond the VFP9 level bit it gives developers all the tools they need to produce solid desktop apps with either connected or disconnected (Client Server) data. Personally, even though I spend most of my time developing in C# these days I LOVE to go back to VFP and can generate apps/systems far, far quicker than in the modern IDE's like VS2010. Maybe Microsoft lost the plot when they abandoned the Fox but there are enough people out there using it as a prime development system to see it go forward, especially with all the user generated addons listed on Codeplex. We may be dead in the water, but we aren't shipping any water!! Long live the Fox! Dave C
I have a co-worker who struggles to install Visual Studio 6 on Win 7 because he is still using VB6 (and that's the only computer language he can handle). However, he is a hobbyist. Around 2005, I had a job interview regarding development of desktop application in both VB6 and VB.NET -- they were in transition. That was my last time to hear about VB6 for job requirement. Just a silly question, as it says in the article, people are still using VB6 as of today, but I don't see too many VB6 jobs available in job market. It's me or something?
Bruce.. the libraries we consumed were very vertical and only produced by one vendor.
paulqualls, If you intend to use third party libraries in more than one version, it only makes sense to use libraries that make it available. It sounds like these guys were being penny wise but pound foolish.
Bruce.. unfortunately, the companies that I worked for did have several components where the source was not supplied. That made life more difficult.
paulqualls, You still can't use compiled library files (DCUs) between different versions of Delphi. However, you can compile third party source code in newer versions of Delphi, often with only a few changes.
filiplagrou, so if someone was using Delphi 7 with 3rd party plibs (dcp's I think?), they can now just click and build for XE2? If so, that is great! I know you wouldn't have been able to do that around Delphi 5 or so when that very issue caused me to set aside Delphi. Waiting for third party vendors to update their packages before I could use newer versions/features of Delphi was very frustrating.
Paulqualls, maybe you're right. Let's compare VB6 to let's say Delphi 7. Porting Delphi7 code to Delphi XE2 is just about hitting the compile button. That's it! Why are developers still using Delphi7? Because "it still does the trick", it still works! Compared to VB6 there is no need for a complete rewrite if you want to update old Delphi code. But then again, Delphi isn't a legacy tool, VB is, because it no longer 'exists'.
marcocantu, are you comparing the Delphi that is currently being released to the VB6 that is no longer manufactured? It seems that a comparison of VB.Net which is current with the recent release of Delphi would be more accurate, or am I missing something? Either way, I am glad to see Delphi continue to grow, but haven't used it in years.
Interesting point about VB6. Many developers are using it because porting their code would imply a complete rewrite. But you are totally wrong about Delphi. The last release is 6 months old, has a 64-bit Windows compiler and a Mac compiler, plus some support for porting applications to iOS. With native support for Direct2D on Windows 7, Azure clients, JSON manipulation and language features like generics and anonymous methods, it is up to date with most modern languages and tools. On one thing you are right, Borland Delphi is dead. IN fact, the company sold it to Embarcadero Technologies. It is so popular, that even Microsoft is distributing a very relevant application built with it! I'll let you find which. Hint: it has to do with phones.
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.