There’s a reason certain companies are on top. People always talk about Google’s long term strategy and how collectively bright an organization it is. Less is said about Microsoft, partly because it occasionally missteps quite badly. A good example of this is Windows Phone. Microsoft have had a strategy for a phone platform for going on ten years. Google, seeing a long-term threat from the iPhone, knock together something better reactively. However, for every Windows Phone, there’s an X-box Live.
But .NET’s what I’m interested in, and C# 4.0 is focusing on, of all things, compatibility with Microsoft Office. Now, if you seriously think there are any competitors to Excel, you really don’t understand the product well enough. You can already write Office automation apps in .NET, it’s not brilliant, but it’s doable. I’m really not looking forward to the next round of marketing that tells me that I should really be using Office as “A massive DLL” for my app. Microsoft do this kind of marketing because it’s part of their long term strategy: keep selling Windows and Office. But, to be honest, I don’t think even they believe that they’re going to get that many people to start writing office workflow apps, especially after SharePoint.
So, if it isn’t really about integration apps, what’s it about? My apologies if this was obvious, but the light only just went off in my head: it’s about macros. I’d be watching what Microsoft’s doing to the CodeDom very carefully. I’ll bet you’ll start to see the sort of enhancements that would make macro recording in C# possible. Making it easier to link to Word isn’t really that fascinating. On the other hand, VBA is 15 years old and hasn’t really evolved in all of that time. But there’s a phenomenal amount of code out there in VBA, most of which is written by non-programmers. Allowing people to write their sensitivity analyses in a proper programming language, that’s huge. Stopping having to support VBA, that’s huge.
I seriously doubt they’re going to turn the average end user into a C# programmer. Python though, sounds just about possible. I’d keep an eye out for new work on language design coming out of the labs, too. I’m not saying it’s dead just yet, but Anders is measuring VBA’s coffin as we speak.