The PopularitY of Programming Language (PYPL) index has released its 2012 results and, while Java remains the most widely used programming language by a distance, PYPL has proclaimed Microsoft’s C# as its language of the year.
This is because of C#’s significant increase in usage, up 2.3% from this time last year, according to PYPL. Java had a 28.3% developer share in 2012, even though its usage went down 0.3%. PHP, whose delta was down 1.6% to 15.4%, was the second most popular with C# and C++ joint third most popular.
Even though PHP remains the second most popular language used by developers, the PYPL results infer a precipitous decline, noting that it’s too early to say which language is taking advantage of PHP’s demise.
Of course, PYPL is not the only organisation looking at the usage of programming languages – the better known TIOBE ranks language popularity, and its December 2012 results ranked C as the number one language, with Java and Objective-C comprising the top three. C# dropped a place to fifth with a rating of 5.547%, with PHP in sixth.
The difference in results isn’t especially surprising given the organisations’ differing methods of collecting data. PYPL appears critical of TIOBE, an impression instantly garnered by the first sentence of its results page: “The TIOBE Programming Community Index has it wrong: C# is the language of the year, not Objective-C”.
With regard to search rankings, TIOBE uses the word ‘programming’ in the search phrase, which PYPL claims is “misleading”. PYPL, consequently, uses ‘tutorial’, and analyses the results using Google Trends.
Another key tenet of programme language analysis, as PYPL points out in its methodology, is that using just the name of the language itself could lead to inconsistencies – for instance Python and Java.
All this leads to C# being recognised as the language with the biggest growth in 2012. But why is this the case?
According to Nat Friedman, CEO of cross-platform app creation platform Xamarin, there are reasons for C#’s success beyond the link to Microsoft with Windows 8.
Quick adoption time, fast execution and reliability are three of the cornerstones to C# and gives it an edge in the mobile environment according to Friedman, who calls C# an “extremely easy language to learn, especially for developers who are already familiar with the principles of object-oriented programming”.
Looking at reliability, Friedman wrote in a blog post: “With compile-time sanity checking, C# developers don’t have to wait until their program crashes in order to find obvious errors.”
However the biggest reason Friedman cited was portability; flexibility between Windows, iOS and Android, as well as mobile, embedded and desktop.
Which language to do you think is going to rule the roost in 2013 and beyond and why?