It’s new year’s eve, so naturally I’m at home by myself drinking Veuve Clicquot and thinking about software development. I was interested to read about the new research language announced by Joe Duffy, which he dubbed ‘C# for systems programming’ but which I’m calling M#. This resulted in a lot of comments, both on Joe’s blog and speculation around the web. Rather than focus on the technical aspects of the language, which is ill-suited to one who has ingested a bottle of Veuve Clicquot, I’d rather focus on the organisational politics surrounding the announcement of M#, and the future of Midori.
But first, a bit of history. Midori is a skunk-works operating system project that grew out of MSR’s Singularity operating system/tools project. It is managed code all the way, with the goal of being highly dependable and verifiable. It was made up of a small, but star-studded team. Joe Duffy, who wrote the original prototype of plinq in a week-end, Chris Brumme, the VM guru MS hired from Oracle back in the day for a signing bonus of $1M and a Porsche 911, who knew everything about the CLR and then ‘went dark’ about 9 years ago. WPF Maestro Daniel Lehenbauer, and quite a few others. Midori existed outside the normal Microsoft divisional structure, but was instead run by Eric Rudder who reported directly to Steve Ballmer.
Fast forward to now-ish. A few weeks ago Eric Rudder moved to the newly created role of Executive Vice President of Advanced Strategy, and Midori has been moved into Terry Myerson’s Unified Operating Systems Group, AKA the Windows Division. So far all of this is stuff you would have seen in Mary-Jo Foley’s excellent article on the subject, but the thing that MJF doesn’t say, and which I think is really key when considering the future of M# and Midori is the history of the Windows Division. The Windows Division HATE managed code. HATE, HATE, HATE. C++ and Javascript are the languages of the Windows Division. Every since they got burned by Managed Code in longhorn, and had to scrap a few years of development work, and re-set on top of the server 2003 code-base, the Windows Division has been strongly against managed code.
Lets also consider what Midori was setting out to achieve – replacing windows – something the folks on the Windows team are somewhat enamoured with.
From Mary-Jo’s Article:
Myerson’s OS group is going to be determining which parts of Midori have a place in Microsoft’s future operating-systems plans.
I suspect the conversation would be discussing the relative merits of suffocation with a pillow, or stabbing with a knife. I could be wrong here – Terry Myerson’s past in Windows Phone, which uses .NET heavily for its programming model, might make him more sympathetic to managed code, but I wouldn’t count on it.
Happy New Year