Upgrading to VB.NET: Are You Sure You Want to Do That?
Now that Visual Basic.NET has hit the streets, the huge installed base of Visual Basic 6.0 applications is in for a bit of a jolt. VB.NET differs from VB6 in innumerable ways, and the upgrade path isn't particularly smooth. Meanwhile, Microsoft has detailed a plan to incrementally withdraw support for VB6 over the next four-and-a-half years. VB6 has already vacated retail shelves. Consequently, developers need to start deciding now which applications to migrate to the VB.NET environment and which ones to leave just where they are.
If you're just now looking into this question, you're certainly not alone. At a recent Microsoft-sponsored conference in New York City, Keith Pleas, a .NET trainer from Guided Design, asked a roomful of corporate VB developers which platform they're using. By an overwhelming show of hands, most pointed to VB6. Others admitted to VB4 or VB5. Only a smattering said they'd already begun to migrate earlier VB apps to VB.NET.
However, virtually everyone agrees that VB.NET is no minor overhaul, including Microsoft. Microsoft says the following in a piece titled "Why Upgrading Is Necessary:"
"There were two options to consider when designing Visual Basic .NET: retrofit the existing code base to run on top of the .NET Framework, or build from the ground up, taking full advantage of the platform. To deliver the features most requested by customers...to provide full and unconstrained access to the platform, and to ensure that Visual Basic moves forward into the next generation of Web applications, the right decision was to build from the ground up on the new platform."
Developers Get Three Choices
For their part, VB developers actually face three main options, at this point:
Leave the application in a pre-.NET edition of VB
Migrate the app to VB.NET
Rebuild the app from square one for .NET
Some developers have already been pondering VB migration issues for the past couple of years. "Odds are MS will only ship critical fixes for VB6...and will be doing what they can to encourage developers to move to .NET," predicted one developer in a posting to an Internet newsgroup back in 2001.
Sure enough, Microsoft recently turned out a document detailing in specific terms when it will be ending support for VB6. Under its "Product Family Life-Cycle Guidelines for Visual Basic 6.0," Microsoft plans to do the following:
End mainframe support (as well as any service packs) for VB6 on March 31, 2005
Embark on an "extended phase" of support from April 2005 to March 2006
Cease all support for VB6 in April 2007
Retail customers already "cannot buy a new license of Visual Basic 6.0 at this time," according to the document. However, for volume licensing customers, Microsoft has promised to keep providing VB6 software media through reseller channels "throughout the extended and non-supported phases." At this point, customers who need VB6 or previous editions can "downgrade" by purchasing VB.NET from a reseller and then paying about $20 for the media to Microsoft.