The second day of Tech Ed 2007. And there are still things to learn. My first session was a deep dive into LINQ. I have heard a lot about LINQ but not really got my head around how it works or what it should be used for, but now I do.
So, an explanation from my point of view. LINQ is system that Microsoft has created that builds on functionality from all versions of the .Net Framework. LINQ standards for Language Integration Query and is NOT an object-relationship management technique. The presentation by Alex James showed how LINQ type functions can be built using standard .Net concepts. In short LINQ is built on
- Delegates,
- Iterators,
- IEnumerable - yield keyword,
- Predicates,
- Extension methods - C# 3.0,
- Lambda expressions,
- Mapping functions,
- Select functions,
- Implicit typing - var keyword,
- and Anonymous types
One of the core notions that these concepts provide is the use of functional rather than procedural programming. I have not seen functional programming since I was at University and it was interesting to see the possibilities of it being used within applications today.
LINQ is a not a small concept and as with all new concepts it will take a little time for the masses to pick up on it and use it in anger within applications.
I will post some more information on LINQ as I find it, especially LINQ for SQL and LINQ for XML.
During the first day at Tech Ed 2007 I have attended a series of sessions that have been both informative and amusing. The keynote speech was delivered by American Lou Carbone, the author of 'Clued In'. His very interesting talk was about the Customer Experience. This seems to have set the theme for the rest of the conference, with other sessions focusing on the customer / user experience. It seems that people are taking an interest in what Provoke has been doing from the start. But this is not what this post is about. The penultimate session that I attended was 'IIS7 for Developers'. I was unsure about going, thinking that it might be too geeky for me, and the ‘UX – Interface Design Patterns’ nearly won out; however, I decided to brave the session and sit near the back. I have to say that I am glad that I went, and that it was probably the best session of the day.
Eric Woersching was a great presenter and provided an excellent session on the topic. As well as being introduced to PHP on Microsoft Windows Server, the best part of the talk was his implementation of an HTTP Module as a ‘footer’ to the bottom of all web pages within a site. This only took about 150 lines of C# code and worked brilliantly. Fortunately, Eric had provided all the source code and a description on his blog at www.iis.net. Within 20 minutes, I had implemented the same code within a project on the laptop. It is these little gems of information and insight that make Tech Ed what it is. So this is thanks to Eric and IIS team at Microsoft.