You have to understand how godawful of a rat's nest COM was, and the reams of technical gobbledygook that Don Box churned out while pushing it (and then the same thing all over again with XML and SOAP), to fully appreciate the irony of his discovering the first thing about Lisp in 2005.
Edit: Also, a telltale question: do you think he ever actually built anything with Lisp or Scheme? I'll bet he went straight to "improving" on it.
Edit 2: moved irrelevant bit to a different comment.
Your comment got me thinking. I think the issue is not that MS are slow - they used to be pretty quick at some things. Rather, it's that they've always been willfully ignorant of the larger computing culture. They never had any interest in connecting with or learning from the richest programming traditions or the best ideas or the hacker communities. They just created their own technological anti-utopia, a sort of Greenspunland in which myriads of half-baked, wildly complicated things conflict with each other. Entire armies of programmers grow up there and never leave.
I know this sounds cranky. It's because I started my professional programming life in this dark forest and it took years to find my way out. And I think it's a shame that they dominated the industry for as long as they did, because they wrought such damage on the level of ideas.
There's a certain type of smart-but-ignorant programmer who is infatuated with his own IQ, doesn't want to learn from anybody who knows more, and just cranks out reams of code (often filled with pseudo-abstractions that make it a lot worse than plain old bad code). I think of MS as the corporate equivalent of this type.
Edit: I should add that not everybody at MS is like this, of course. But the exceptions are people who grew up outside that culture.
Things got improved recently...I tend to like the new Visual Studio 2008 + .NET + C# combo.
Despite the numerous critique I partially agree with, Microsoft showed the continuous commitment to improve their software, and I personally still think that staying with them, as a profesional developer, is not a bad choice.
Note the date: October 2005. Especially interesting is the last sentence:
This melding of code and data is central to all dialects of Lisp, and is fundamental to the way Microsoft is integrating multiple expression languages (most notably SQL) in future versions of the Microsoft .NET Framework.
Wow! I never thought I'd see Don Box posting about his love of Scheme. This is surprising and interesting change for someone that designed SOAP and WCF. It'll be interesting to see what comes of it. He is a well known figure in the .NET community and even pre .NET. Remember "COM is love"?
I'm skeptical of how much credit Box and the ex-COM crowd deserve for the good things (the functional programming things) in C# 3.0. These people's hallmark for 15 years has been their gift for taking simple things and making them complicated. The functional extensions to C# aren't like that. I suspect that the FP people that MS hired (Erik Meijer et.al.) had more to do with it - and most importantly, the leadership of Heijlsberg, who matured intellectually long before he entered MS and who has little in common with MS culture.
Although I have never met Heijlsberg myself, I have a good friend on the C# team and have met many people who work on programming languages at Microsoft. My understanding is that Heijlsberg and team are very much in line with the MS culture. Well, the DevDiv culture at least.
The fundamental thing to understand here is that Microsoft is a very large company which has has evolved into many subcultures over time. DevDiv, or the Developer Division, is by far the most progressive of these. It's the old "Raymond Chen vs MSDN Magazine" thing (Google it). C#, however, is just so great because of people like Heijlsberg, Erik Meijer, Mads Torgersen, Eric Lippert, and many many others who are brilliant, bring outside ideas, but still operate within the very successful mindset of DevDiv which birthed Visual Basic and Visual Studio.
Side note: I've noticed that I've become a little bit of a Microsoft apologist on HN lately. Receiving a paycheck from them has a little bit to do with it, but the truth of the matter is that I am trying to understand why they are so successful and where they fail. If you keep your eyes open and ears tuned, you can learn a lot about software and business at Microsoft. I'm also trying to share this knowledge a bit, because HN is a place where the knowledge is appreciated. Slashdot? Not so much.
If you introduce several different people to the sameingeniousandperfectthing, only very few of them are really able to see the perfection (and to open/change their mind accordingly).
And -- on the other side -- many of them will stay the same, or change their opinion only marginally...
So, it's not enough to expose someone to something perfect -- one has also to be so gifted to actuallyrecognize it (and to have the courage to actuallychangethemind -- and this is work).