More than 100 Microsoft Most Valuable Professional (MVP) developers have signed a petition demanding the software company reconsider plans to end support for Visual Basic in its "classic" form.
Developers claim the move could kill development on millions of Visual Basic 6 (VB6) applications and "strand" programmers that have not trained in newer languages.
Microsoft said it will end standard support for Visual Basic 6 at the end of this month, ending free incident support and critical updates. Both services will be available for a fee for another three years.
But MVPs hope Microsoft will reconsider not just VB6's support options, but will continue to develop the language alongside its newer Visual Basic.Net.
"By providing a new version of a COM-based Visual Basic within the Visual Studio IDE, Microsoft will help maintain the value of its clients' existing code, demonstrate its ongoing commitment to the core Visual Basic language, and greatly simplify the adoption of VB.NET by those that wish to do so," the petition says. "The decisions of if, how, and when to migrate code to .NET should lie with the customer."
The problem, say the dissenting developers, is that when Microsoft made Visual Basic.Net (or Visual Basic 7) the successor to VB6, it actually killed one language and replaced it with a fundamentally different one. It's effectively impossible to migrate VB6 applications to VB.Net, and for VB6 developers, learning VB.Net is as complex as learning a completely new programming language, critics say.
"The .Net version of Visual Basic is Visual Basic in name only," wrote developer and author Rich Levin in a recent blog entry. "Any organisation with an investment in Visual Basic code — consultants, ISVs, IT departments, businesses, schools, governments — are forced to freeze development of their existing VB code base, or reinvest virtually all the time, effort, intellectual property, and expense to rewrite their applications from scratch."
Microsoft continues to develop C++ alongside C#, the language's .NET counterpart, and the company should do the same with "classic" Visual Basic and VB.Net, the petition argues.
Microsoft introduced VB.Net in 2000, and since then, developer use of VB6 and older versions has declined steadily. Many of those leaving the language behind are migrating not to VB.Net but to non-Microsoft languages such as Java, according to some surveys. For example, a November 2004 survey of EMEA developers by Evans Data found that Visual Basic had lost 25 percent of its EMEA developer base since 2003.
VB.Net grew from 16 percent of EMEA developers in the autumn of 2002 to 32 percent in late 2004, with 43 percent of EMEA developers using some form of Visual Basic, the survey found. About half of the developers who had used
VB6 or earlier did not migrate to VB.Net Evans Data said.
In North America most Visual Basic developers continued to use VB6 and older versions — 45 percent of all North American developers, compared with 34 percent for Visual Basic.Net. Fifty-four percent of North American developers used some sort of Visual Basic.
"One of the main issues keeping VB6 and earlier developers from making the migration to VB.Net is the steepness of the learning curve," said Albion Butters, Evans Data¹s international analyst, in a statement. "The difficulty in moving existing VB6 apps to VB.Net is, in some cases, insurmountable.²
While the rebels' argument may make sense, it is probably a moot point, as Microsoft is unlikely to change its stance on VB6, say some industry observers.
"All software — desktop apps, languages, databases, whatever — gets 'end-of-lifed' eventually, some unfortunately, some fortunately," said Jez Higgins, a Birmingham-based developer. "The fundamental programming disciplines aren't tied to any one language or any one way or working. They won't disappear out the side of your head. I suggest these blokes buck up and get on."
"The future of programming is clear, and object-oriented languages designed from the get-go for Web and Internet-enabled functionality are the future," wrote one developer in response to Levin's post. "No amount of romanticising VB6 is going to change that."<\p>