Skip to main content

TIOBE Is (Unintentionally) Misleading; in Truth, Interest in Java Is Surging

Posted by editor on April 23, 2014 at 2:20 PM PDT

Every now and then I see an article that cites the recently close "race" for "most popular programming language" between Java and C, according to the TIOBE Index -- almost inevitably followed by remarks about Java's long and painful decline. TIOBE uses a somewhat complicated formula for computing its ranking; but the core component of the method seems to be search statistics for the name of each language followed by the word "programming," for example, "Java programming." This makes a lot of sense, because if you go to Google Trends and search for, say, "Java" or even "JVM," you can readily see that those statistics include many searches that have nothing to do with the programming language Java or the Java Virtual Machine.

Below is the current TIOBE graph of the 10 most popular languages over the past 13 years or so:

The black line at the top is Java's TIOBE rating, while the nearby light blue line is C. One thing that stands out is that Java's "popularity" has been on a long, slow, decline, according to TIOBE's rating system. But does this mean that usage of Java is actually declining?

I think not, for several reasons. First, Java is a mature language. Wouldn't it be reasonable for a mature language to receive fewer searches on search engines like Google, Yahoo, etc., since a broad swath of developers are already very familiar with the language? Meanwhile, today's hot new, programming fad might receive lots of searches, because it's "all the buzz" today? This seems possible to me, anyway.

But there's another, more mathematical approach we can apply here. Let's use a snippet of TIOBE's own approach, and combine it with some other data, and see what the numbers say.

Below is the Google Trends plot of "interest over time" in Java programming:

According to this plot, "interest in Java" was at a peak perhaps in 2004 (but we don't see the data from before then), and today the level of interest is about 28% as high as it was then.

But, what does this really mean? Google Trends rates search topics on the basis of the proportion of searches for that term amid all searches. So, what this plot is actually telling us is that the proportion of Google searches for "Java programming" today is about 1/3 of what it was in 2004. Again, the reason I stated above might be part of this.

It's important too, though, that "interest" in the term "Java programming" has held quite constant since 2009. And here's where things get even more "interesting"... The table below shows the annual total number of Google searches, according to the site Statistic Brain:

Year Total Google
Searches (billions)
2013 2,162
2012 1,874
2011 1,722
2010 1,325
2009 954
2008 637
2007 438

Now, the Google Trends plot really tells us the level of "interest in Java programming" relative to the level of "interest" in all topics. Relative to all searches on Google, "Java programming" occupies a smaller proportion than was the case in 2004.

But, if we use the table above to convert this "proportional interest" data into a scale that represents the total number of actual searches for "Java programming," we get something like this:

Year Total Google
Searches (billions)
Relative Interest in
'Java programming'
Total Interest in
'Java programming'
2013 2,162 28 138
2012 1,874 30 128
2011 1,722 30 118
2010 1,325 29 88
2009 954 29 63
2008 637 29 42
2007 438 34 34

Here, what I've done is use 2007 as a basis, and computed the "Total Interest" result by taking into account the growth of total Google searches in subsequent years. This shows us that, on a nominal basis, searches for "Java programming" on Google more than quadrupled between 2007 and 2013!

Rather than Java being a language that's enduring a long, slow decline (as you might think from pulling up the TIOBE most popular languages plot), worldwide interest in Java is actually surging!

Now, can we finally lay that "Java is dead" trope to rest???


Subscriptions and Archives: You can subscribe to this blog using the java.net Editor's Blog Feed. You can also subscribe to the Java Today RSS feed and the java.net blogs feed. To follow Java.net net on Twitter, follow @javanetbuzz.

-- Kevin Farnham (@kevin_farnham)

AttachmentSize
Tiobe201404.png105.92 KB
JavaProgrammingGoogle.png23.9 KB

Comments

"The black line at the top is Java's TIOBE rating, while the ...

"The black line at the top is Java's TIOBE rating, while the nearby light blue line is C. One thing that stands out is that Java's "popularity" has been on a long, slow, decline, according to TIOBE's rating system. But does this mean that usage of Java is actually declining? I think not, for several reasons. First, Java is a mature language. Wouldn't it be reasonable for a mature language to receive fewer searches on search engines like Google, Yahoo, etc., since a broad swath of developers are already very familiar with the language?"

You're actually suggesting that Java has fallen behind C in the rankings because Java is now mature? That TIOBE's rankings, where C is #1, show that general familiarity with a language causes a language's rating to fall?

If Java is "mature", then C is like extra double super mature.

No, I wasn't saying Java has fallen behind C in the rankings ...

No, I wasn't saying Java has fallen behind C in the rankings because Java is now mature. Obviously, C is much more mature than Java.

Rather, I was wondering if a rating system that's based on search results might tend to underestimate the "popularity" of mature languages, and overestimate the popularity of very new languages.

I bailed on C language back around the time Java was ...

I bailed on C language back around the time Java was introduced and never looked back. C and C++ are painful and dangerous.