Microsoft Corp. is facing a revolt from some of its favored developers over the company’s support for what the developers are calling classic Visual Basic, also known as VB6 (Visual Basic 6).
More than 100 Microsoft MVPs (Most Valuable Professionals) have signed an online petition calling for the company to continue to support VB6.
At issue is that as of the end of March, Microsoft has said it will discontinue mainstream support for VB6; developers who have programs written in the language platform are up in arms.
When Microsoft moved to Visual Basic .Net in 2001 and stopped development of VB6, it offered developers a migration path to the new platform.
But developers say the move is no easy one.
“Porting classic VB code to VB .Net is not a trivial task,” said Jonathan Wood, founder of SoftCircuits, of Salt Lake City, a Microsoft MVP who signed the petition.
“In fact, in some cases, there are VB code statements will actually compile without error under VB .Net but produce different results.”
The online petition said: “We would like to suggest a path for the future development of Visual Basic 6 and VBA [Visual Basic for Applications] that helps Microsoft align its long-term strategies with those of its customers.
“This path will also help Microsoft reconnect with the Visual Basic developer community and continue support for the Office developer community.”
So the petition asks that Microsoft continue to develop VB6 and VBA to preserve assets and applications written in those languages.
“We believe the best way to meet these objectives is for Microsoft to include an updated version of VB6 inside the Visual Studio IDE,” the petition said.
“For brevity we’ll call this update ‘VB.COM.’ VB.COM should use the same keywords, syntax and types as VB6, remain COM-based [Component Object Model], and compile to native code. Visual Studio would then support both unmanaged VB.COM and managed VB.NET, as it now supports both [unmanaged] C++ and [managed] C#.
“With both VBs in the same IDE [integrated development environment], it should be possible to extend the development environment to provide a high degree of interoperation between them.”
In an FAQ attachment to the petition, the petitioners said that although Microsoft offers a migration wizard to ease the transition to VB .Net, it is “an incomplete solution at best.”
Microsoft was unavailable for comment.
Next Page: Developers speak out.
“Microsoft changed so much about Visual Basic in the move to .NET, with blatant disregard for backwards-compatibility, that VB programmers were faced with a huge porting job,” said Joel Spolsky, founder and CEO of Fog Creek Software Inc., NY., and architect of Excel VBA while at Microsoft in the early ’90s.
“Many used the opportunity to port to the Web instead, and VB went from being the most popular programming language in the world to a somewhat irrelevant backwater while corporate developers in droves switched to Java and PHP.
“If Microsoft doesn’t show some respect for the assets of its customers, who collectively have trillions of lines of code in classic VB, they’re going to lose even more developer mindshare for their crown jewel, the Windows rich client platform.”
Added Spolsky: “Why this matters is that once a corporation has all its key applications running on the Web, there’s no reason to use Windows desktops: Linux and OS X both have very nice Web browsers.
“And this is how Microsoft will lose their desktop monopoly: because some bright bulb at Microsoft thought Boolean operations should really short-circuit, no matter what millions of BASIC developers had been doing since the 1960s.”
Richard Tallent, a software developer and project scientist at ERM Southwest Inc., Beaumont, Texas, holds a somewhat different perspective.
“VB.Net did not ‘break’ VB6 apps any more than C# ‘broke’ Java or C++ code or Delphi ‘broke’ Pascal. VB.Net was rightly designed as a whole new language species with all of the power of the other .NET languages; it was not intended to simply hack the existing VB6 language to access the CLR [Common Language Runtime].
“Microsoft has made a mistake of marketing VB.Net by over-selling their ability to automatically upgrade code to the new platform, but the language itself is a beautiful reinterpretation of BASIC (a language that has been around for over 40 years).”
Stephen Bullen, director at Office Automation Ltd., London, said: “As a signatory to the petition, I believe Microsoft should do exactly as we suggest. Adding unmanaged VB6 and VBA into the Visual Studio IDE would demonstrate their commitment to their entire developer community, provide a lifeline for all their customers’ VB6 assets and map out a clear path for the future of VBA and Office development.
“Furthermore, it would put all the existing VB6 and VBA developers inside an IDE that also supports .Net.”
Next Page: The Coca-Cola example.
Still, some developers said they think Microsoft made the right move.
“The VB.COM proposal is something I understand and sympathize with to an extent, but not something I support,” said Andrew Brust, chief of new technology at Citigate Hudson, N.Y.
“I do think the petitioning MVPs make some valid criticisms, but I also think their proposal ultimately makes little business sense for Microsoft and that there are no easy answers to the problem they raise.
“In a nutshell, VB, when it was first introduced, made Windows development instantly fun, productive and simple.
“.Net, it could be argued, made things more complex. The fact is that .Net also gave VB-style development much more integrity, and made it more scalable and industrial-strengthand that was needed, because VB couldn’t measure up to J2EE with those criteria in mind.”
London-based Bullen offered an analogy between the Microsoft situation and Coca-Cola Co.’s predicament with the new Coke some years ago.
“Once the Coca-Cola Company realized their ‘new, improved Coke’ did not meet with the universal approval they expected, they reconsidered their mistake and reintroduced Classic Coke alongside the new flavor,” Bullen said.
“Most people agree that Microsoft made a similar mistake when they introduced VB.Net as a replacement for VB6 (and, we fear, for VBA).
“We are asking Microsoft to follow Coca-Cola’s lead and reintroduce ‘Classic VB’ to the marketplace, alongside and coexisting with VB .Net.”
Meanwhile, SoftCircuits’ Wood summed it up: “At the very least, Microsoft needs to find a way to convince customers that code written using Microsoft languages will not become obsolete as soon as Microsoft decides to market a new platform.”
This article was first published on eweek.com.