Java Dethroned by C

Mike Gouline
5 min readJul 7, 2012

This year’s Tiobe Index is out — an annual report gathered by the Dutch company TIOBE Software to measure the popularity of the major programming languages around the world — and this one packs a few headline-worthy stats.

Highlights then… Java lost its throne! Contrary to popular belief of those uninterested in statistics and taken in by the vision that Java has been and will always be on the rise (which Sun Microsystems and now Oracle have worked hard to induce), when looking at the individual graph showing the changes for the last 10 years, Java has been on a slight but steady decline ever since 2002. This decline paired up with a sudden rise in C usage from 2008 onward saw the two languages trade places and leaving the eldest at the top.

For those whose horizons are not limited to Java and/or .NET enterprise development, the report makes for a fun read. For more observations and the source links, jump past the break and I shall try not to bore you too much.

In other news, the rise in iOS (and perhaps to a lesser extent OS X) development brought the Apple-exclusive Objective-C up three places to #3 shifting C++ and C# down accordingly. Having said that, Objective-C has the most entertaining individual graph showing steady plateau of inactivity all the way up to 2009 followed by a steady increase ever since, suggesting the obvious: the popularity of iOS and increased sales figures for MacBooks worked!

Not very surprisingly, C# is doing well with just one position down this year and a very steady rise overall. Its .NET counterparts on the other hand have little to brag about: C++ is on a slow but inevitable decline and VB.NET zigzags without any long-term trend. While the former’s fall from grace is likely slowed down by game developers, the crazy theory about the latter could be that office workers fed up with Excel macros turn to VB.NET instead, so although the interest exists, the number of such “developers” does not grow and the number of tasks likely to be performed is limited.

A few “right tool for the job” type of languages like Python and Perl seem to hold their positions in the middle of the top 20, however this may be deceitful thought, since both of those languages show opposing trends on individual charts: while Python is on a slow but jumpy rise, Perl’s last glory days ended circa 2005. The cause? While Python is still fuelled by backend systems and open-source projects, Perl’s CGI grip on the web has practically been eradicated by the likes of PHP and its last real application remains in the Linux community.

On a brighter note, it was nostalgic to see some languages from the past occupy higher positions, namely the various Pascal variants holding on to their spots in the second dozen. This statistic I really cannot explain as I was completely unaware that somebody was still using a language from my computer class in middle school… Several legacy system titans, such as Fortran and COBOL, are still chugging away at their power plants, factories and banks but sadly, they did not make it in the main 20, settling for honorary places in the third dozen.

Last but not least, I wanted to cover some languages used by various computational sciences that are sparsely spread around the top 50. (Lisp (seems to be (the most (popular)) of them) all)… Ok, I will stop now… Lisp clutches to its #13 since last year with a very positive outlook from 2010 onward, showing that computability problems in research are still described in Lisp. MATLAB managed to score the highest of the purely mathematical languages coming in at #20 with its steady upward overall trend proving its superiority over the likes of Mathematica and Maple once, neither of which even made it in the 100, once and for all. Statistician’s best friend R (invented in my alma mater — University of Auckland) and the logic programming favourite Prolog were not so lucky landing in the 25 to 35 frame. Unfortunately, individual charts are not available for places lower than #21, so there is absolutely nothing I can say about these two either.

Before I go into the methodology, I thought I would briefly touch on the most obvious features of the top 10 comparison chart, namely the two drops in 2004 and 2008. The first one is explained in the FAQ section of the article: apparently, it was caused by Google changing its methodology and dropping many articles that had been pushed up. So now we know that SEO whizzes are Java fans (hint: look at which line dropped the most). The second drop, however, was not explained anywhere, so I can only assume that it was natural… Aftermath of the iPhone being released? Your guess is as good as mine.

The statistically-savvy of you would have asked themselves by now: “I wonder how they collected the data”. The answer is quite simple and can be found in the Tiobe Index Definition (link below): popularity values are the numbers of hits for a particular programming language on various search engines normalised for the first 50 languages. All eight search engines used have different weights, based on their Alexa rating and suitability to the topic, which is why Google gets 30% and YouTube only 9%. Some could argue that YouTube should not be used at all but the article explains that the video sharing site has a high Alexa rating and does feature lectures, presentations and tutorials on programming languages and is therefore suitable for inclusion, even as an experiment.

Critics of the methodology could raise valid points that the popularity of a language on discussion boards and tutorial sites can only be used to comment on the nature of its audience and not the overall usage, however this is probably as close as one can get to covering a wide enough population without using any dubious data from closed-source companies. As a result, the findings, subject to your personal opinion, can be considered interesting and quite easily reproducible, if nothing else.

Resources

Originally published at blog.gouline.net on July 7, 2012.

--

--