A while back I remember reading Ian Griffiths post on Expression Trees and thinking, huh?
After reading it I knew that what he was talking about was cool, I just didn’t understand it. Months later I came back to his post and can really appreciate what he’s talking about. Since the original read of his post I’ve dug into LINQ a bit more and come to understand some of the new C# 3.0 features.
Expression trees are how DLINQ will come to support more then just SQL Server. They’re also what makes DLINQ able to intelligently build targeted SQL for a given LINQ “query” (as discussed in my Getting started with LINQ post). I’ll be very interested to see how else expression trees end up being used when C# 3.0 becomes more mainstream. How much longer do we have to wait? 
Charles Young has written a nice long piece that
compares the rules within WF with the rules in the Microsoft Business Rules Engine. It’s a little long which is why I’m posting it here (aka: I didn’t read it yet and am posting this to my blog so I remember to read it when I have time).
I’ve been thinking recently (which is always trouble) and I think Microsoft should open source Microsoft Max. Let the developers around the world see how to build a “real” application using the latest technologies from WinFx. Since it’s being given away for free open sourcing it isn’t going to result in any lost revenue. Most likely it will result in a lot of developers checking out the source which may help inspire them to use WinFx to create killer apps. Getting more developers using WinFx is the end game isn’t it? I vote for open sourcing Microsoft Max!
At PDC last week Microsoft announced Windows Workflow Foundation. For me, it was the most exciting announcement of the week. Workflow is one of the most basic elements within many of the applications that I develop. Today most of the workflow logic within the application I’ve developed is defined within custom C# classes. Although it fills the basic workflow needs of my applications it is far from ideal.
By providing workflow as part of WinFX Microsoft is providing us with a very powerful framework for creating workflows within our applications. I’m working on several projects at the moment which are a perfect fit for WWF. I’ll be looking forward to reading through Presenting Windows Workflow Foundation as well as learning all about how to build applications that leverage the wonders that WWF provides. All this new technology is going to be a blast to learn!
Paul Wilson agrees that DLINQ is a big mess. I’ve read a couple blog entries that have me hope that there might be a chance we get closer to
what I want but I’ll be surprised if we actually get there.
Let me start by saying that I think LINQ is amazing. I watched the channel 9 video with Anders and was very impressed.
Now let’s talk about DLINQ. I’m a big fan of attribute based programming. I’ve long resisted giving into the xml mapping crowd that has been growing stronger and stronger in the O/R Mapping community. I’ve conceded to them, having mappings defined in an external mapping file is a better approach. Microsoft, you should concede to them as well. Change DLINQ to use a mapping file rather then embedding everything within attributes.
LINQ is amazing, make DLINQ equally as amazing. Don’t make DLINQ just another mapper. Make it something revolutionary. Start thinking in more generic terms. Don’t think of the mappings as Databases, Tables, and Columns. Do think in terms of data stores, entities, and properties. Make it so we can persist our objects to more then just a SQL Server database. Give me persistence providers, allow me to persist to more then just SQL Server.
Don’t make DLINQ something that “newbie” developers use to create ad-hoc applications, make it something that software development shops can use within their software that supports 3+ databases. Make it so we can persist things to Oracle, Sql Server, Sybase, Access, MySql, Postgress SQL. Allow us to persist things not only to databases but also to Xml files, to WinFS data stores, and to whatever else data store we want. Let me win the Newsgator API contest by creating a DLINQ provider for Newsgator 
Don’t make just another mapper. Don’t use attributes. Don’t restrict me to just SQL Server. Don’t limit your thinking to only one type of data store.
Do make something revolutionary. Do what you did with LINQ. Make something revolutionary. Make something I can use. Please?