The December 2012 edition of the Tiobe Programming Community Index is getting some attention, as it shows C overtaking Java in popularity. There's less here than meets the eye.
For years the Tiobe Software ("The Coding Standards Company") has issued monthly updates on its Index, which it generates based on search queries for the phrase "language programming." The company says that the Index is "an indicator of the popularity of programming languages." A language's trend over time may be indicative of whether it is on the ascendent or otherwise (the company makes current results freely available but sells access to historical data).
The latest graph shows Java's popularity drifting gently downward since 2002, and that of C rising over the last 4 years or so. It's hard to see reality behind these supposed trends. Java may well have lost some momentum after its transfer to Oracle's ownership in 2009. But, as Wired's Robert MacMillan points out, the language is still quite deeply entrenched in the computing landscape and has gotten a new lease on life with the ascendence of Android.
The other trend that Tiobe highlights is the gain in 2012 of Objective-C, bolstered by the popularity of the iOS ecosystem. There is surely some reality to this finding.
Tiobe's index has its critics. One competitor is PyPL, the Popularity of Programming Languages index. PyPL is based on Google search queries for the phrase "language tutorial" -- the assumption here is that the number of introductory guides available for a language will be a better indicator of its popularity. In fact PyPL is calculated not from the total number of such queries per language, but instead from each language's proportion of all queries for tutorials.
PyPL uses Google Trends alone to calculate its index. Tiobe uses nine sites, four of them primarily search engines.
InfoWorld spoke with Pierre Carbonelle, who is behind PyPL, and reported: "The Tiobe index, Carbonelle said, looks at pages available, while PyPL counts the number of people actively searching those pages."
The PyPL index paints a strikingly different picture than Tiobe's: it shows both Java and C holding fairly steady over time, with C drifting gently downward over the last 3 years or so. It crowns C#, not Objective-C, as the biggest gainer of 2012; and it shows Python gaining over the years at the expense of Perl. All of these supposed trends feel like they are more rooted in reality than Tiobe's versions.Over at our sister site Dr.Dobb's, Andrew Binstock reads the tea leaves of programming language popularity using Google Trends and several of the indexes mentioned here. He summarizes 2012 thus: "The [Microsoft-touted] C++ renaissance didn't materialize, Java survived intact, and Objective-C kept on rolling." Binstock's take on Java holding steady: "I think the greater truth is that the language is in decline in its traditional settings, but that the popularity of Android has made up for the shortfall."