Digital Darwinism
One of the remarkable things about Microsoft has been its willingness to
fail. By that, I don't mean that the company welcomes or admits defeat to
competitors. One need only glance at efforts like Microsoft Network (MSN) or
products like Microsoft Money and the Zune media player to realize that Redmond
will invest what it takes, as long as it takes, to challenge incumbent
technologies.
What I mean is that Microsoft is happy to pit competing, homegrown
technologies against each other. It's the sort of tough-minded digital
Darwinism that has helped make Microsoft a technology powerhouse, and should
help ensure that it remains dominant for years to come. Consider the dueling
32-bit operating systems of Windows NT and Windows 95, which ultimately merged
into the Windows XP OS. Or more recently, look at the multiple data access
methods Microsoft has developed to support the growing demand for efficient,
data-driven programming.
As Jeffrey Schwartz reports in his Data Driver blog, Microsoft is picking a
winner between the popular LINQ to SQL technology, introduced with Visual
Studio 2008 and .NET Framework 3.5, and the recently released ADO
.NET Entity Framework. And if Jeffrey's report is any indication, some
developers aren't terribly happy about it.
And that can be a problem. By promoting multiple, overlapping technologies,
Microsoft often invites confusion and even disruption in the dev market.
I asked Anders Hejlsberg, technical fellow in the Developer Division at
Microsoft and a driving force behind the creation of LINQ, for his thoughts on
Microsoft's change of direction. He said this sort of competition between
technologies is "unavoidable" in part because of Microsoft's sheer size.
"The bigger a company gets, the more there is to keep track of and the more
overlap that you see because we are doing more things," Hejlsberg said. "Now
the LINQ to SQL project was an interesting project because it was built by the
C# team, but it is clearly in the data domain. We built it because we needed
something real to validate LINQ, and we strongly felt that LINQ would be
nothing without a strong O-R mapper to support it."
Once the C# team's work on LINQ to SQL was done, Hejlsberg said, the
technology was handed over to the ADO.NET group.
Obviously Microsoft is making its choices, but that doesn't mean developers
currently using LINQ to SQL have to drop everything and work with Entity
Framework. Hejlsberg emphasized that LINQ to SQL will continue to be
supported.
"LINQ to SQL is not dead. I can assure you, it is not dead. Nothing ever
goes away. We have never done that and we never will," he said.
What do you think of Microsoft's decision to shift focus away from LINQ to
SQL? Has your dev shop been burned Microsoft's internal competition in the
past? E-mail me at [email protected].
Posted by Michael Desmond on 12/11/2008