New features in the upcoming Visual Basic 9.0, such as the LINQ (Language Integrated Query) Project and others, are expected to significantly enhance developer productivity.
Microsofts phase-out of Visual Basic 6 and move to Visual Basic .Net set up an uproar in the ranks of some of Microsofts most loyal developers.
Earlier this year, several thousand developers, including many Microsoft MVPs (Most Valuable Professionals), signed a petition calling for Microsoft to continue to support VB6.
However, enhancements in the VB platform stand to bring some of those people back.
"I absolutely think it will, because it makes .Net a more appealing proposition," said Anders Hejlsberg, a Microsoft technical fellow and father of C# and of the LINQ Project.
"The VB6 petition is the dilemma you end up in when you have a large installed base youre trying to move," Hejlsberg said. "Theres no question .Net is a very productive system. The only way you can stay 100 percent backward-compatible is not to change your technology base."
Rick LaPlante, general manager of Visual Studio Team System, said, "We are focusing on how we make sure the VB experience comes back. The Whidbey [Visual Studio 2005] product gives VB its VB back." LaPlante said features such as edit and continue will play into that.
Mike Sax, president of Sax Software Inc., which runs the Sax.net site, said he thinks Visual Studio 2005 also will help allay developer concerns.
"While VS2005 doesnt give the petition signers directly what they asked for [the old VB back in the box], I do think it addresses some of their needs and desires," Sax said. "I think the petition was essentially inspired by three things: Migration from VB6 was too complex, the IDE didnt feel as snappy and productive, and the learning curve of the new framework was too steep."
However, "Theyve addressed that by providing more migration whitepapers/toolkits and pushing fusion—using COM [Component Object Model] interop[erability] to integrate old VB6 code in new apps; making the IDE more productive with better forms handling, improved Intellisense, etc.; and My Classes," Sax said.
Sax said that second point is "definitely the big one," adding that, "compared to VS2005, VB6 is really starting to feel old."
Moreover, with the Language Integrated Query framework, which lets users program data and access databases for data without having to know or use SQL, Microsoft is delivering even more to developers.
At the Microsoft Professional Developers Conference in Los Angeles last month, Paul Vick, Microsofts technical lead for Visual Basic, gave a rundown of many of the new features coming in Visual Basic 9.0.
Vick said VB9 covers three main areas: Simplifying querying data by integrating query operations into VB and unifying the querying of object, relational and XML data; simplifying working with dynamic data, by accessing dynamic members easily and imposing structure on dynamic objects; and simplifying working with XML, by producing XML documents quickly.
VB9 features include support for query comprehensions, anonymous types, anonymous arrays, object initializers, local type inference, late binding for XML, dynamic interfaces, XML literals, nullable types, local functions, lambda expressions, extension methods, expression trees, relaxed delegates and dynamic identifiers, among others, Vick said.
Will Microsofts play to win back developers be successful?
Joel Spolsky, founder of Fog Creek Software in NY, said he thinks Microsoft should keep things simple.
"My impression is that the developers who appreciated VB for its simplicity and easy learning curve have long since given up and arent going to be impressed by language featuritis, and are certainly not going to be pleased by a raft of complex new language features to learn," Spolsky said.
"Those who might be excited by something like LINQ are the exact kind of programmers who already switched to C#, or, increasingly, Python. I fear that by adding these complex new language features VB.Net stands to alienate whats left of its core constituency who just want to get things done."
Karl Peterson, a Microsoft MVP and VB developer who signed the VB6 petition, said he doesnt think the new versions will help at all.
"I think the noise is just becoming more distant, to the extent that it may not even be audible anymore, for the Classic VB devotees," Peterson said.
"What they choose to call VB9 is unrecognizable, and LINQ seems to be going in another entirely different direction. No attention whatsoever has been given to preserving developer assets. Including, it seems, those whove already moved over to .Net! Churn seems to be the goal. Break stuff and get folks to upgrade."