Saturday, October 23, 2010

Programming Language Trends...

Tiobe has been tracking the popularity of various programming languages for nine years.  Their index is based on search engine hits.  The notion is that the number of web sites about a programming language is a proxy for that language's popularity.  I can see some potential issues with this idea (for example, Pascal is popular amongst academics, and one could imagine they're more likely to create web sites), but in general I think it's likely to be reasonably accurate.

At right is the current index (click to enlarge).  For the entire lifetime of the index, Java and C are jostling for first place honors.  There are just a few interesting trends that jump out at me as I stare at this:
  1. C++ seems to be in a slow, steady decline.  This is consistent with what I hear from my peers.  I'd be leery of commiting long-term projects to it. 

  2. C's share has been climbing for several years now.  I speculate that this is because of the rise of mobile platforms, many of which use C (though this is now starting to change). 

  3. C#'s popularity is slowly and steadily climbing.  I'm not entirely sure what this means.  The language is very similar to Java, but is specific to Microsoft platforms.  I'd be very curious to see a breakdown in the interest between enterprise developers, academic developers, and hobbyists.  In my contacts with enterprise developers, I do see C# used, but not extensively – its ranking here is higher than I'd expect from what I see in that world.  So I wonder if it's used a lot by academics or hobbyists...
  4. Objective C is rapidly climbing.  In this case, the reason is obvious: this is the language of choice on Apple's mobile platforms (iPhone, iTouch, iPad), and those devices are attracting hordes of developers.  It will be interesting to see if Android's (which uses Java) recent rapid growth reflects in Java's numbers next year.

  5. Python has been slowly and steadily climbing for years now.  I know that Python is very popular amongst IT organizations; I know lots of sysadmins who swear by it.  But I've never seen it used for any other purpose.  I'd love to know if this growth is entirely within IT, or if Python is being adopted by some other group that's helping drive this growth...

1 comment:

  1. Regarding #1: it looks to me like C++ dropped off sharply in 2005 and has been fairly steady since. I know the AP test for CS switched from C++ to Java in 2004 -- that might be part of it if educators and students are more likely to create webpages.