Thursday, May 31, 2007

Matt Warren's "The Origin of LINQ to SQL"

Read the inside story of how LINQ to SQL and LINQ itself came to be, learn how ObjectSpaces was drawn into the black hole of WinFS, and discover that Microsoft's second attempt to productize an object/relational mapping (O/RM) tool started "the political nightmare that became [Matt's] life for the next three years."

The first major event after the Microsoft Business Division (MBD) absorbed the Server and Tools Business (STB) unit was to deep-six this year's Professional Developer's Conference. What's next on MBD's chopping block?

  • LINQ to SQL?
  • LINQ to Entities, Entity Framework, and Entity Data Model?
  • LINQ itself?

Update: 6/2/2007: ADO.NET Architect Mike Pizzo states in a comment to my May 29, 2007 Defining the Direction of LINQ to Entities/EDM post's items #1 and #4:

The bottom line on Entity Framework and LINQ to SQL was that they are each designed around a different set of priorities; LINQ to SQL is designed around rapid development, with direct (1:1) mapping, while the Entity Framework is designed around exposing a rich conceptual model with flexible mappings to extended ADO.NET Data Providers. We considered not shipping one or the other of these to reduce confusion, but ultimately decided that neither stack fully addressed the customer commitments and expectations set by the other. So we will ship both; LINQ to SQL in Orcas and the Entity Framework in an update to .NET Framework 3.5 in first half 2008. Over time we will look to customers to help us decide whether it makes sense to continue to invest in enhancing both stacks or merging into a single stack over time.

It’s an undeniable fact that Microsoft has fumbled the ball repeatedly when it comes to delivering an O/R solution. The biggest reason we didn’t ship ObjectSpaces was not technical, but rather a lack of recognition at a management level of the importance of providing such a solution. The only way for ObjectSpaces to gain traction was by aligning with something bigger (i.e., MBF or WinFS). The biggest thing that’s changed (thanks largely to the success of Hibernate) is that management now gets the importance of a good O/R solution. The support for LINQ, LINQ to SQL, and the Entity Framework at the executive level is what ObjectSpaces never enjoyed, and what gives me confidence that we will finally shed the albatross that’s been hanging around our neck since .NET Framework 1.0.

I'd venture a guess from the tenor of his post that Matt's "political nightmare" of the last three years will be sweet dreams compared to the future under MBD's aegis.

Don't miss it.

Note: Dare Obasanjo ends his Surviving WinFS: How LINQ to SQL Came to Be post on this positive slant:

This takes me back. I had friends who worked on ObjectSpaces and it was quite heart breaking to see what internal politics can do to passionate folks who once believed that technologies stand based on merit and not who you know at Microsoft. At least this story had a happy ending. Passionate people figured out how to navigate the internal waters at Microsoft and are on track to shipping a really compelling addition to the developer landscape.

I'm a strong proponent of LINQ to SQL as an alternative to the delayed and overweight Entity Framework, so I hope Dare's right. I'm concerned, however, that LINQ to SQL, whose origins are in the C# team, might be sacrificed on the alter of the ADO.NET team's Entity Framework.

Backstories from the OakLeaf Blog

A Ribbon UI for Visual Studio Code Name Orcas?

SQL Server "Katmai" to Deliver Entity Data Platform and Support LINQ

Déjà Vu All Over Again: Entity Framework Cut from Orcas

Orcas December 2006 CTP Coming with New LINQ/EDM Bits


Anonymous said...

I was disappointed to see end of WinFS announcement. But WinFS lives on as Entity Framework. All the big kahunas have moved from WinFS to Entity Framework and they are putting their money where their mouths are. I have heard it is almost as large an effort as WinFS. Time will tell about its outcome but it has a grand vision.