In addition to the Q&A I mentioned yesterday when it was unveiled at PDC05, Barry Gervin has a long list of resources for Language Integrated Query (LINQ). Amongst the wealth of material is an overview paper by Don Box and Anders Hejlsberg:
After two decades, the industry has reached a stable point in the evolution of object oriented programming technologies. Programmers now take for granted features like classes, objects, and methods. In looking at the current and next generation of technologies, it has become apparent that the next big challenge in programming technology is to reduce the complexity of accessing and integrating information that is not natively defined using OO technology. The two most common sources of non-OO information are relational databases and XML.
Rather than add relational or XML-specific features to our programming languages and runtime, with the LINQ project we have taken a more general approach and are adding general purpose query facilities to the .NET Framework that apply to all sources of information, not just relational or XML data. This facility is called .NET Language Integrated Query (LINQ).
We use the term language integrated query to indicate that query is an integrated feature of the developer’s primary programming languages (e.g., C#, Visual Basic). Language integrated query allows query expressions to benefit from the rich metadata, compile-time syntax checking, static typing and IntelliSense that was previously available only to imperative code. Language integrated query also allows a single general purpose declarative query facility to be applied to all in-memory information, not just information from external sources.
There’s also a video interview with Anders Hejlsberg and Dan Fernandez on Channel 9.
Note that while there are tech previews for release candidate versions of Visual Studio 2005 and the Visual Basic and Visual C# 2005 Express Editions, LINQ is avowedly a feature of Visual Basic 9.0 and Visual C# 3.0 which means Orcas, the next generation of Visual Studio beyond VS 2005.
The Language Integrated Query (LINQ) demo during the PDC demo was exciting. There was applause all around whenever different products were shown and different speakers were introduced, yet when the LINQ demo was shown there was a lot of talk within the crowd, oohs and aahs, and a bunch of OMG-this-is-cool’s. The attendee sitting next to me pulled out his notepad and started writing down everything he saw. After two hours of keynote before it, it was the only thing worthy to write down.
Finally, if you want to dig into the code, Jomo Fisher illustrates the Evolution of a C# Query—Step by step from C# 1.1 to LINQ.