Visual Basic 2005 may be the latest incarnation of the 15-year-old programming language, but an ongoing survey of SearchVB.com readers indicates that more developers are still coding in VB 6 that in VB.NET. On top of that, Visual Basic 9, code-named Orcas, is due for release at the end of 2007. Each new release brings productivity enhancements but also questions about performance and migration.
At Tech Ed 2006, SearchVB.com attended several breakout sessions focused on Visual Basic 2005. This three-part series looks at the language's past, present and future. To go back to Part 1 of the series, "Can VB 6 and VB.NET forms coexist?" click here. To go back to Part 2 of the series, "Tips and time-savers for VB 2005 application development"click here.
VB 9, code-named Orcas, is slated for release with the next version of Visual Studio. Steven Lees, group program manager of VB at Microsoft, indicated at Tech Ed that VB 9 will likely appear "sometime late next year" and that Microsoft will nail down a timetable for Orcas later this summer.
Perhaps the biggest enhancement VB 9 brings to the table is its ability to work with data. This is accomplished with features like object initializers, anonymous types, and full integration with LINQ, or the Language Integrated Query. As Mike Gunderloy wrote in Let's think about LINQ:
LINQ is designed as a general-purpose query facility that will be baked right into the .NET Framework. It allows traversal, projection, and filtering operations to be expressed in a declarative syntax in any .NET language, with benefits including compile-time syntax checking, static typing, and IntelliSense.
In a Tech Ed session called "Visual Basic Today and Tomorrow," Lees described LINQ as an extensible system that works with "pretty much anything that can represent itself as a CLR type." LINQ uses SQL-like syntax, Lees continued, "but there's no database in sight."
LINQ technology supports five data domains -- LINQ to DataSet, LINQ to SQL, LINQ to Entities, LINQ to XML and LINQ to Objects.
LINQ to SQL, which will bring raw SQL objects into LINQ, was previously referred to as DLINQ. In addition, LINQ to XML, which supports direct XML coding, used to be called XLINQ.
Entities refers to ADO.NET Entities, which is a data mapping tool the ADO.NET group plans to have in preview form by the end of the year, Microsoft corporate vice president of development Soma Somasegar announced here in his blog.
LINQ for Visual Basic 9 is in CTP, or Community Technical Preview, state and is available for download here.
There is much buzz about the features in LINQ, but the reality is that a vast majority of VB developers know very little about it. A quick show of hands during Lees' session showed that nearly everyone had used VB 6, about half had used VB 2005 and only a handful had even heard of LINQ.
Those VB 6 developers, and the VB 6 applications they built, will have a home in Vista.
In a document entitled Support Statement for Visual basic 6.0 on Windows Vista, Microsoft states, "The Visual Basic 6.0 IDE will be supported on Windows Vista as part of the Visual Basic 6.0 Extended Support policy until March 2008."
The document also indicates that runtime support that key VB 6 runtime files will ship as part of Vista and will be supported for the lifecycle of the OS -- five years of mainstream support and five years of extended support. A list of key runtime files is included with the document. Binaries that will not be shipped with Vista are going to follow their planned support schedule.
As for VB 6 applications, Microsoft says the goal of the Visual Basic group is that VB 6 apps that work with Windows XP will work with Vista. According to the document, "A set of applications written on the Visual Basic 6.0 runtime are being tested for compatibility between Windows XP and Windows Vista with a goal that applications work similarly on both operating systems."