Coding in tongues

The TIOBE Index is being talked about again, with the announcement that the programming language with the most growth in popularity last year was Objective-C. That’s the language used to create native iPhone/iPod apps, so it’s not surprising to see that it has been growing steadily since mid-2009. The Index also reveals the ranking of all the major coding languages, with Java and C still at the top. The measurements are essentially rankings for phrases like “Java Programming” on the Web, so the languages with the most narrative (rather than the most technical details, illustrations, examples, lines of code, or anything else that is purely objective) are the higher ranking.

Of the top 20 programming languages, I’m experienced in 15 of them, and (based on the past few weeks) I regularly use 8. Of the all-time top 10, my time is consumed by mainly by Java, Perl, JavaScript and PHP (in that order), with a smattering of C/C++ and C# (a language I enjoy but don’t currently have much call to use).

The ranking leaves out other languages such as SQL and HTML because you don’t actually write programs with these (though they are certainly embedded in a lot of programs that I write!).

TIOBE Index

TIOBE Index - 10 year trends

According to data for the past decade, Java is by far the leading programming language, with C a close runner-up. There has been a steady decline in C++. The percentage of interest in one of my favourite languages, Perl, has dropped considerably in the past 5+ years. It has been on a par with JavaScript for the past 3 years. I expect that JavaScript programming will grow significantly over the next year or two with Ajax and Node encouraging more use of JavaScript and the consequent desire amongst followers to document their progress.

The last public records from SourceForge regarding programming language usage was in 2006, when they declared that the top languages based on the activity in their vast collection of Open Source projects were Java, C++, C, PHP and Perl. I can find no data since then, as SourceForge stopped publishing the details.

It would be interesting to compare these results against actual deployments, number of lines of code written, amount of time spent writing in the language etc., but none of this data is ever likely to be determined.

Finally, here are my thoughts on these latest results:

  • The C family of languages (C, C++, C# and arguably Java) still dominate.
  • Java and C have a lot of traction, some probably because of new developments and some due to the need to maintain a lot of deployed solutions that are built with these languages.
  • The Web documentation on the C family is both broad and deep, reflecting the massive power of these languages and their associated libraries.
  • JavaScript is surprisingly low in the top 10, but it’s possibly because most commentary surrounding JavaScript is in the context of AJAX and node.js rather than “JavaScript programming” per se.
  • While C++ is gradually losing its prominence, C# appears to be growing at the same rate. The transition from C++ to C# is quite easy. People who once used to write about C++ could now just as easily be writing about C#.
  • Interest in Objective-C is almost 100% driven by Apple. Gradually, alternatives to implementing iApps with Objective-C will eat into this trend.
  • Perl and Python linger a little. This is possibly because these languages do a lot of behind-the-scenes work, which isn’t as exciting as building visual or Web applications. Of the scripting languages, Perl still comes top of the pile, thanks in part to its portability.
  • PHP has its roots in Perl but was constructed to make it easy to create customizable Web sites, and many new site platforms based on PHP have appeared. Since customization is the key element of PHP, the Web is full of simple tutorials on how to do simple customization for Drupal, WordPress, MediaWiki, Facebook and more.
  • PHP and Python documentation tends to be broad, but not as deep as the C family, and a broad mention across the Web would boost their rankings. The emphasis on customization may negatively impact their ratings because much of the talk would be about “Facebook programming” or “WordPress programming” instead of the generic “PHP programming”.

Categorised as: Coding

Comment Free Zone

Comments are closed.