Desmond File

Blog archive

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


comments powered by Disqus

Featured

  • Uno Platform Wants Microsoft to Improve .NET WebAssembly in Two Ways

    Uno Platform, a third-party dev tooling specialist that caters to .NET developers, published a report on the state of WebAssembly, addressing some shortcomings in the .NET implementation it would like to see Microsoft address.

  • Random Neighborhoods Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the random neighborhoods regression technique, where the goal is to predict a single numeric value. Compared to other ML regression techniques, advantages are that it can handle both large and small datasets, and the results are highly interpretable.

  • As Some Orgs Restrict DeepSeek AI Usage, Microsoft Offers Models and Dev Guidance

    While some organizations are restricting employee usage of the new open source DeepSeek AI from a Chinese company due to data collection concerns, Microsoft has taken a different approach.

  • Useful New-ish Features in .NET/C#

    We often hear about the big new features in .NET or C#, but what about all of those lesser known, but useful new features? How exactly do you use constructs like collection indices and ranges, date features, and pattern matching?

  • TypeScript 5.8 Beta Speeds Program Loads, Updates

    "TypeScript 5.8 introduces a number of optimizations that can both improve the time to build up a program, and also to update a program based on a file change in either --watch mode or editor scenarios."

Subscribe on YouTube