We've been pretty quiet about the XLinq project and the XML features in Visual Basic 9 for awhile as we focused on getting out a new LINQ CTP and planning its release in the next version of Visual Studio ("Orcas"). We're very happy to report that you can now download the current state of all the LINQ technologies.
In case you haven't been following the LINQ project, it provides a common programming model for the most common types of data, including objects, relational, and XML. It is fully integrated into the next generations of the C# and Visual Basic imperative programming languages, but offers a more declarative approach to working with data. In other words, LINQ allows you to specify what results are desired and what they should look like, as opposed to how to filter out irrelevant data and how to transform the input format to the output format. This CTP includes libraries, documentation, and examples showing how to use this approach to programming with data in several ways:
- The core LINQ functionality lets you query and update .NET objects from C# or Visual Basic.
- DLinq and LINQ over ADO.NET extends this approach to work with database systems and APIs.
- XLinq provides a LINQ-based API for working with XML
- Visual Basic 9 offers additional XML features that leverage XLinq but make XML programming even more straightforward
- ASP.NET offers templates that employ LINQ
Avner and I will post separate items in this weblog detailing the new features in the XLinq and VB / XML components that our team owns. I have quite a backlog of detailed XLinq matters that I will be discussing and seeking feedback on in my blog. In the meantime, you might find the following to be useful background resources:
S. Somasegar (the Corporate VP in charge of Developer Division) has blogged about this CTP and the new features it presents.
Erik Meijer (an architect on the XML in VB9 project) presented a paper at the XML 2005 conference explaining the mathematical foundations of the LINQ approach and its evolution in programming languages (aka, the Return of the Monoids).