More on LINQ, XLinq and perspectives.

On XLinq

A lot of the questions about XLinq are around how it will sit beside/replace XQuery (and other XML query/transform techniques). Back when I first started doing some .NET 2.0 training in February, I was a bit miffed that XQuery had not made it into the .NET Framework. Now don't get me wrong, it's not the most elegant thing in the world, but the excuse that “it's not a standard YET, so we can't put it in the framework“ seemed a little insincere given that the SQL team had managed to jump over that hurdle. But given LINQ/XLinq, maybe this now makes sense. We'll have to get our feet wet and see how LINQ evolves over time into a shipping product.

  • Michale Rys gives his thoughts on the relation between XLinq and XQuery. Interestingly he points out that XLinq uses about 30% less memory than the DOM.
  • Mike Champion's thoughts also comparing XLinq to the DOM.
  • Soumitra Sengupta also adds his 2 cents on how XLinq is positioned with the rest of the XML processing technologies.
  • Dave Remy gives some also talks about how XLinq's implementation was from the ground up, but inspired by lessons learned on the back of the DOM.

Other perspectives floating around....

  • On an unrelated note, M. David Peterson has an interesting post from one of his colleagues, with specific mention of comparisons between LINQ, and Haskell.
  • Kent Tegels also shares his first impressions.
  • Paul Wilson has a critical review of DLinq. He rightly questions the “sqlserver only“ aspect of DLinq. I'm hopeful that this is only a temporal condition. Paul also mentions, among other things, poor support for stored procedures in DLinq, but at this point, I'm not convinced that is all too important. I have to think about that some more.
  • Werner Moise has some in depth thoughts.

Some Articles...

  • Infoworld has an interview with Anders.
  • Scott Swigart has an article on VB 9 in Dr. Dobb's with interviews with Paul Vick, Amanda Silver, Erik Meijer, Rob Copeland, Alan Griver, and Jay Roxe.

And if you are at PDC and want to get more information, Don Box is hosting a LINQ Panel discussion tomorrow and he is looking for your questions in his blog comments.

Just because you aren't at PDC, doesn't mean you can't get the slides.

You can download session content posted here. Check daily - they post new stuff as it is delivered.

PDC Day 2 - Part I

This morning at the keynote we were shown some new products that Microsoft is coming out with and a new designer for Visual Studio.

The products are touted by Microsoft as their Expression Family of Products they include:

  1. Acrylic Graphics Designer
    This is an editor for manipulating and creating graphics both Vector based and bitmap graphics. The demo was impressive. We'll see.
  2. Quarts Web Designer
    This is a design tool for Web page designers, incorporating CSS, XSLT, Master Pages, ASP.Net.
  3. Sparkle Interactive Designer
    This tool will allow a graphic designer the ability to create a Windows Form (generates XAML) . The demo was a designer and a developer working together on a windows form. One designing a cool interface and the other writing the code.

Visual Studio Tools for Applications
This is the new VBA. Cool demo of extending Auto Cad to include purchase and pricing information for a component right from a Cad drawing.

Windows Workflow Foundation
This is very cool. It's a work flow designer for Visual Studio. You can create your own workflow activities and reuse them from the toolbox. Check out Barry's Blog for more information and linkns to other resources.


Are you Canadian?


If you are at PDC and you are Canadian there are two informal get togethers going on.

Excuse: Breakfast
Date: Thursday Sept. 15th
Time: 7:45 am - 8:30 am
Location: Under the Canadian Flag in the dinning area

Excuse: Beer
Date: Thursday Sept. 15th
Time: 6:30 pm - 7:30 pm
Location: Millennium Biltmore Bar

Pass it on!

Introducing Windows Workflow Foundation (and you thought you wouldn't have to learn BizTalk)

If you're not using BizTalk today in your applications, probably the #1 reason is that you can't afford it. “It's overkill” is probably a big reason as well, but I consider that a variation. Seriously, how many applications do you write that don't have some component of workflow? Maybe you don't, but if it was baked into the framework, and you didn't have to install (and pay for) a workflow engine, maybe you'd take advantage of it - no?

Windows Workflow Foundation, a new component of WinFx was announced today. Lots of great resources here. Including overviews, labs, and even an MSDN VirtualLab so you can play with this stuff without having to install it. Also keep tabs on the blogs of Scott WoodgatePaul Andrew, and of course our own Matt Meleski

You can download the beta 1 of the extension for Visual Studio 2005. Don't get too carried away yet - it's not going to be released with 2005, it will be released in the second half of 2006 (likely along with the rest of the WinFx bits).

What is the world saying about Microsoft's C# and VB LINQ Project

I have to say that the LINQ syntax in VB hits much closer to the mark than C#. More on that later. What is everybody else saying out there about LINQ?

  • Erik Meijer says that VB has become his “programming language of choice.“
  • Sam Gentile “LINQ is freaking cool“, but he's feeling the beta pain because the VB and C# tech previews work with Beta 2 of 2005 and he just installed the VSTS release candidate.
  • Rédo believes LINQ “will represent a tectonic shift in the way that VB programmers will work with data“.
  • Somasegar believes that LINQ is a signifiicant developer productivity enhancement and he wants to hear your feedback.
  • Sean Chase points out some interesting ideas using lambda expressions with LINQ.
  • Frans Bouma compares DLinq to O/R mappers and points out the negative side of attribute based mapping for use in cross db platform support. There is a good follow up discussion in the comments on that post.
  • Marius Gheorghe likes the LINQ idea, but not so much the implementatio and seems to agree with Frans.
  • OrangeVolt hopes that Sun will adapt this for Java.
  • Ben Galbraith gives his comments on LINQ from a Java perspective. In particular, he's happy to see the type inference feature added to C# and wishes Java could do the same. The comments also contain some interesting discussion on Java and .NET.
  • Over at the SPS Weblog, LINQ is inspiring a Visual FoxPro Object-Oriented SQL. Don't get crazy, he's only got 1 hour of development under his belt.

There is also an interview with Anders Hejlsberg and Paul Vick worth reading. Why does Paul look so much happier than Anders in these photos? No doubt it is the VB syntax simplicity :)

C# Query Syntax

Barry Gervin has a post with some LINQ links that is very useful.

Just to show you how easy it is. Here is the Query Don Box wrote during the key note today. I haven't seen it yet but I am told it's even easier to read in the VB syntax.

This is only the query itself so assume that p is a collection of processes and d is a class associated with a table and columns in the Database.

var query =
   from p in Process.GetProcesses()
   where p.WorkingSet > 4194304
   orderby p.WorkingSet
   Select new 
      Description = ( from d in db.ProcessDescriptions
                      where d.processName == p.Processname
                      Select d.Description

PDC Day 1 - Part II

This afternoon I attended three session and they were all good. I already mentioned the VSTS session in my last post. After that I went to a session on SQL Server 2005: Building Distributed, Asynchronous Database Applications with the Service Broker.  The demos went a little fast to follow. I have heard and read about Service Broker before so I knew what was going on, if I hadn't I would have left thinking, “What is Service Broker anyway”. I think it's going to be an unbelievably useful tool for developers. I hope everyone goes to see it and understand how they can use it in their architecture. Service Broker Rocks.

After that I attended Windows Forms: Harnessing the Power and Flexibility of Windows Forms 2.0. This is a popular subject. The room was overflowing. It wasn't a huge room mind you. But it was the second time it ran today, the first time they added satellite rooms, the presenter told us 2 or 3 extra rooms. Plus they have added another session later in the week. We got to see some real stuff that will be available soon including ToolStrips, DataGridView, BackGroundWorker, and TableLayoutPanel. The presenter Erick Ellis did an excellent job. TableLayoutPanel is a very cool tool. If you create localized applications you need to look at this.

Dropped in to PDC underground over at the Weston Bonaventure. The RD's were all doing short presentations on various subjects. Very entertaining as usual, although Billy Hollis had trouble with his machine and could not do his presentation. :(

Someone named Holly won an i-mate JASJAR tonight for getting spotted in her hat. She was no more then 2 feet from me in my hat. <|:) Maybe tomorrow.

Linq Resources

As you may have heard, the LINQ(Language Integrated Query) Project was announced publicly today at PDC. There will be a lot more information coming throughout the week, but here's the resources available as of today.




Visual Basic


Microsoft LINQ Bloggers

Upcoming Chats

UPDATE: Added Dinesh, Matt and Luca to the bloggers list.
UPDATE 2: Added Rob, Erik, and Amanda to the bloggers list.


PDC 2005 Day 1 - Part 1

So the first keynote was very long. It was good though. They told us we could buy an i-mate JASJAR at mobile planet for $149. But when the session got out they were sold out. Apparently they had 1000 for nearly 10,000 people. I went to mobile Planet the day before to buy a bluetooth head set which was $45 which I thought was a good deal, the guy at the store said to wait until after the key note, apparently there was a deal. At the key note Jim Allchin said we could buy one for $9.95 but they are sold out also. :(

Now I am wearing a hat around in the hopes that I get spotted and win one.

The coolest thing I saw in the Key note was LINQ. This is a feature of the .net framework that lets you write queries against any collection. In Anders Hejlsberg words, “If you can for each it you can query it” He and Don Box proceeded to query a collection of processes running on that machine. Then they added a text box to a web page and allowed the user to query for processes using a where clause. That is cool in it self but wait there is more, then they accessed a Database table which contained a process name and description. They Joined the collection of processes to the table in the Database and also displayed the description in the result set. :) Very Very Cool. All of this was done in C#.

We were also given a preview of Office 12. The new interface is really nice. I think my grandmother could have used Excel if it looked like this.  

Apparently I can go and pick up “The Goods“ anytime also. This will contain 6 DVD's full of Beta's and CTP's.

I sat in on a VSTS session a lot of it was nothing new. But these was a demo at the end that was good. Doug Neumann created a C# application that made calls using the TFS object model. Using a utility he turned it into a TFS Web service to notify a developer when they break the build. The extensibility of this product is amazing.

I have to get out there now so someone sees me in my hat. <|:)