Microsoft To Expand WinRT Programming Language Support

WinRT — Windows 8’s programming model which allows developers to create new Metro-style apps — already supports a decent breadth of languages. You can develop WinRT apps using JavaScript/HTML5, Visual C#, XAML, Visual Basic, and C++. However, according to a report from ZDNet, Microsoft is expressing interest in adding more languages into the WinRT support mix.

WinRT team Development Manager Martyn Lovell said while speaking at Lang.Next (in reference to WinRT) that Microsoft “wants developers to create languages for the new developer platform.” This was in response to a rhetorical question which asked whether or not WinRT would be “at home” in each programming language. So, what other languages should be fully supported by WinRT? I’m thinking that the three languages which would be commonly requested are Ruby, Delphi, and Python.

WinRT is certainly an interesting programming model. Thus far, I’ve only dipped the tip of my big toe in the WinRT waters when I created a Windows 8 HTML5/JavaScript app which pulled images from a rather unsavory subreddit (hint: space) just to mess around with it. I think that even if support for other languages isn’t added anytime soon, the ability to create Windows 8 apps with HTML5 and JavaScript will be sufficient in allowing people who haven’t done much development with Microsoft technologies to “join the dark side” and create some awesome Windows 8 apps.

Windows 8: A Fantastic Opportunity for Developers

Windows 8 Start Screen

There has been a lot of discussion about Windows 8, Metro-style apps, Intel vs ARM, etc., from the time Windows 8 Developer Preview was released at //build/ last year. A lot of the discussion and debates have to do with unclear communication and secrecy from the Windows team at Microsoft. For example, what exactly is the deal with Windows on ARM devices? Are they going to be a hard cutoff from today’s Windows and not have a desktop experience at all, or will they have a desktop experience? Will the desktop experience be open for all developers or only certain developers (like Microsoft Office) to provide signed apps for ARM which use a restricted desktop?

(Ed: On February 9, Steven Sinofsky posted details about Windows on ARM on the Building Windows 8 Blog, so some of the secrecy has been taken away. However, the points made here are in fact reinforced by the details revealed in the post.)

Those discussions and speculations aside, I truly believe Windows 8 is a huge opportunity for developers. In this post, I will tell you why I believe so. First of all, some math: According to Canalys, there were 415MM PCs sold in 2011. This is after accounting for a decline in sales per original projections! Even though smartphones have exceeded the number of PCs sold, that PC sales number is still a very large number.

Now, let’s assume that those 415MM PCs are split 60-40 with regard to sales to businesses vs. consumers. Taking a round number of 400MM PCs a year gives us about 160MM PCs sold to consumers a year. I am ignoring business PCs for now because let’s face it – they are not going to Windows 8 for some time, and even if they do, there is a strong likelihood of them turning off Metro via IT policies. Consumers on the other hand, won’t have the ability to turn it off, and all new PCs will ship with Windows 8 (Intel or ARM).