The 3 million software developers using Microsoft's Visual Basic language will face some tough choices when the company ships the new version of its programming suite.
Will developers embrace .Net tools?
Robert Green, Microsoft Visual Studio lead project manager
Visual Studio .Net comprises Microsoft.Net versions of a number of Microsoft programming languages, including Visual Basic, Visual C++, and the new C# (pronounced "C-sharp").
The suite does not include an updated version of Visual J++. Microsoft has said that its ongoing lawsuit over Java with Sun Microsystems has resulted in its suspension of its J++ work.
The new Visual Studio.Net languages are designed to allow developers to write and reuse Web services. A version of the .Net framework, a collection of programming interfaces for writing to Microsoft.Net, is also included in Visual Studio .Net.
Visual Studio.Net is slated to have its second beta release later this spring and to ship in the second half of this year.
Upgrade hurdles ahead
Developers are worried that Visual Basic.Net is so different from the Visual Basic they have come to know and understand that upgrading will pose a major hurdle. Some say the .Net version bears so little resemblance to Visual Basic 6.0 and previous versions of the language that Microsoft shouldn't continue the name.
"VB.Net, unlike other versions of VB, does not use the language syntax and behavior of MS Basic," said Daniel Barclay, head of Barclay Software, an Orange, Texas, technology-automation software vendor targeting the banking industry. "The new language looks familiar, but it is not the same."
The result, said Barclay, will be that porting software to the new language could prove more difficult than rewriting from scratch. "Had application porting been made easier, I'm certain we would see existing applications bring (Microsoft.Net) into business environments that now will wait until (Microsoft.Net) shows up for some other reason," he said.
The bottom line, according to Barclay, one of 600 outside programmers to receive Microsoft's "Most Valuable Professional" (MVP) designation: "This is a stupid move by Microsoft that will, in my opinion, hurt the deployment of (Microsoft.Net), as well as their position with developers."
Here comes Fred
Barclay is hardly the only developer who is upset about the choices Microsoft is making with Visual Basic.
A former Microsoft VB product manager, Bill Vaughan, is credited as having coined the name "Visual Fred" for "VB.Net"--a name chosen to emphasize developers' claims that VB.Net represents such a radical departure from VB that it shouldn't be considered a mere upgrade. Vaughan is president of Beta V.
Another Microsoft VB MVP, Karl Peterson, echoed the qualms voiced by other VB developers.
"In short, the building consensus is that Visual Fred, what we've taken to calling VB.Not, may be a really cool language for new projects, but the payoff for migrating existing projects would be nonexistent," Peterson said. "There simply won't be a migration path. Existing, tested, functional code must be rewritten to be used in the future."
Peterson has gone so far as to launch a VB.Not Web site, where he lists the incompatibilities between the currently shipping VB 6.0 and VB.Net.
"Yes, there are ways to workaround many of these issues, but the fact that a workaround is needed indicates something was broken," Peterson writes on his site. "That something, in this case, is your existing code."
Microsoft: We know it's no picnic
Microsoft is aware that VB.Net is creating controversy among the VB community, said Visual Studio Product Manager Robert Green.
"We've changed some things in VB.Net so that it is more like the other languages" in the suite, Green said. "But syntax by syntax, we believe the changes are very manageable."
Green said Microsoft had some difficult choices to make, as it's tough to move from the PC-centric computing model to the Web-centric .Net model. He said Microsoft plans to provide an upgrade wizard, allowing developers to find problem areas in their code before attempting to upgrade.
"We understand this is a major upgrade and are trying to get the necessary information out there," he said.
But developers will have to decide for themselves whether it's worth trying to move an existing Visual Basic application to VB.Net, Green said.
"If I wrote an app in VB 6.0, can it be moved?" Green asked. "If it works, maybe I shouldn't try."