Should Microsoft recode Office in C#? Uh, no!
A recent email thread prompted me to write down some thoughts. On numerous occasions I've heard people speculate that Microsoft should write the next version of Office with .NET to show MS is serious about managed code. But it would be bad business to recode products for the sake of demonstration. Office has so much legacy in it and so many features that I would be extremely shocked to see a major port of Office code to managed code. Instead I anticipate some sort of convergence or major evolution in information worker tools well down the road. If Microsoft's heart is in managed code long term, then I would certainly expect that future generation of information worker products to be managed (assuming it is Microsoft that reconceptualizes this software "genre"). I'm sure the .NET moniker will have more than run its course by then. We'd be lucky to see such a product suite within sight in the next five years.
In the here and now, I wish MS had more visible products and components running as managed code. There are already a lot of Microsoft products using the .NET Framework (from Nov 2004). Yet people are still looking for more products that are symbolic of Microsoft's confidence in the .NET Framework as a software platform for the future. Sharepoint is a good example. Indigo will be someday but for now it is still quite unknown or a mystery to John Q. Programmer.
That being said, a lot of developers want to see .NET products from Microsoft so that the Framework is pushed out onto more desktops. It's frustrating to be responsible to make sure Microsoft's runtime gets onto Microsoft's OS (though we did it all the time with VB applications). But while I empathize with that position, Windows 2000 and XP can run on some pretty modest hardware that you probably don’t want to run the CLR on. It would be great if there was a widely deployed MS desktop app based on the .NET Framework but we cannot expect it on every instance of 2000/XP, so checking for the Framework will simply be a part of life as long as your apps target those versions of Windows.
Developers and IT managers who recognize the benefits of managed code should take heart that Microsoft has bundled the .NET Framework with its latest operating system releases: Windows Server 2003, Windows XP Media Center Edition, and Windows XP Tablet PC Edition.