Skip to main content

Is Java Really Losing Popularity Among Developers?

Posted by editor on October 21, 2011 at 10:17 PM PDT

In his latest post, Dustin Marx points us to an article by Paul Krill which was originally posted on InfoWorld, titled Survey: Java losing popularity among developers. The article is subtitled: "If recent trends continue, C could supplant Java as the most popular programming language by next month."

Being a student of numbers and graphs and statistics and mathematical modeling of all types of data (see, for example, my 1999 Stock Market Modeling Techniques paper), I found this title and subtitle both provocative and interesting. I wasn't surprised to find that the base data for the article was the latest TIOBE Programming Community Index (October 2011). Their October headline is "Java is losing ground despite its new version 7 release." And the first sentence is:

Java lost almost 1% of its popularity in September. If this trend continues, C will be number one again next month.

Huh? So, are they saying that 1% of global Java developers were suddenly laid off in October? That seems unlikely! What are we really talking about here? Let's take a look at the TIOBE October 2011 graph:

The top line (red) is Java; the second line (green) is C. The source of the headlines is the convergence of the red and green lines at the top of the very right edge of the plot.

This graph does not show the percent of developers using a particular language (how could you count them?); rather, it presents a substitute metric developed by the TIOBE team. TIOBE welcomes you to see the definition by which their index is constructed.

I've followed the TIOBE index for some years, and I've used it professionally in proposing candidate languages for customers who wanted to translate old software into a modern language. They're trying to provide a metric based on publicly available data. I commend their effort. Of course, there is a rather significant error bar associated with the measures if you try to project them to "this represents how much development occured this month using this particular language."

So, you could look at that plot and say that Java is overall in a slow decline; and C in 2001 was below Java, and has declined, but its decline is at a slower pace, especially recently. You could even say C is on the rise since its low in late 2007, while Java is declining since then.

Back in the days when I analyzed the stock market, I was interested in analytical methods like Bollinger Bands:

John Bollinger's analysis is related to signal and noise. Most of my programming experience has involved scientific measurement, and measurement of data that has fluctuational patterns that are fairly unpredictable; so, I found Bollinger Bands interesting.

What does this have to do with whether Java is "losing popularity" among developers? Well, it perhaps at minimum suggests that one month's data point compared to the previous month's data point may not represent actual significant change in a language's real "popularity" or usage. Bollinger Bands are useful because they demonstrate that short-term changes are natural, but at the minute level (say, month-to-month with respect to programming languages) they're not all that relevant in predicting the future long-term. Lots of human-invented systems (not just the stock market) likely follow this pattern, imo based on my experience (and I'm old!).

Are Java and C becoming the enduring platform languages?

So, what if it's true that Java and C are becoming co-leaders with respect to overall usage? Isn't C so old, so un-cool? So, might it be true that Java circa 1.4 is becoming a fundamentally trusted language distribution like C? Is that a bad thing? But then, we also have Java 7, and ahead, prepared for 16-core tablet/phones, Java 8. Is all this such a bad thing?

And wait a minute? Don't percentages have a denomiator?

There's one other thing about a statement that Java is "losing popularity" among developers. The TIOBE index is a "Normalized fraction of total hits" in percent. So, it's showing us how many hits searches on specific languages return, then normalizing those values to 100%. OK... so, what we don't know is the denominator, the total number of hits for all the languages. How has that changed in the decade shown on the graph above? My guess is that it's grown incredibly. If so, then the actual number of hits for Java (and C, and all the other languages that have grown or held their own in the past decade) has grown immensely.

Does this mean we can be certain there are more Java developers than there were a decade ago? Well, it could just reflect the immense changes in the Internet and in search engines in the past decade. But, I'll be stunned if someone can show me evidence that the number of developers making their living coding Java today isn't millions more than that same number 10 years ago. If anyone disagrees with me, please tell me why in a comment below!

Conclusion: I'm happy about the Java line

So, in my view, watching the TIOBE index is indeed interesting, and useful. I use their index in advising my customers. When I look at the October 2011 plot, I think: if the language you've bet your career on is Java or C, even if you're just starting out, you've got nothing to worry about (as long as you're willing to work your butt off and produce, of course). My guess is the market for both skill sets is currently expanding immensely year by year.

That's the message the TIOBE index October 2011 plot sends to me. Weblogs

Since my last blog post, quite a few people have posted interesting new blogs:


Our current poll asks What interests you about JavaFX 2.0 and its future?. Voting will be open until Friday, October 28.


Our latest article is Sanjay Dasgupta's VisualLangLab - Grammar without Tears.

Java News

Here are the stories we've recently featured in our Java news section:


Our latest href="">Spotlight is Java Spotlight Episode 52: Cameron Purdy, Vice President of Development at Oracle, on JavaEE :

The Executive Committees of the JCP have been busy for the past several months on some significant revisions to the Process. These changes have been specified through JSR 348: Towards a new version of the Java Community Process...

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can also subscribe to the Java Today RSS feed and the blogs feed. You can find historical archives of what has appeared the front page of in the home page archive.

-- Kevin Farnham

Twitter: @kevin_farnham

tiobe_pci_trends_2011oct.png74.61 KB


I don't know about Java the language, but Java the community ...

I don't know about Java the language, but Java the community has certainly been dying very quickly since Oracle took over. I am specifically referring to the level and type of activity on,, and other popular blogs. The community aspect of them is almost completely dead. The only posts I see nowadays are coming from companies trying to pass themselves off as a grassroot effort.

Java on the Desktop was strongly linked to the Java Community, and both are dead now. I'd love to get them back.

At least in what concerns desktop applications, I would ...

At least in what concerns desktop applications, I would say Java is dead except for Android. Even there it might change depending on the outcome of the Oracle/Google dispute.

Most new desktop applications I am dealing with, either moved to Web, or have been recoded in C++ or .Net depending on the portability requirements.

How can Java's popularity be evaluated without including ...

How can Java's popularity be evaluated without including Ruby in the data? Ruby's popularity is both large and growing.

Ruby is in TIOBE's database, but it's not in the graph ...

Ruby is in TIOBE's database, but it's not in the graph because by TIOBE's methodology JavaScript passed out Ruby in October, taking over the 10th spot, with Ruby falling to 11th. Their graph in my blog post above includes only the top 10 (by their method) programming languages. See TIOBE Programming Community Index for October 2011 for their table of the current "Top 20" programming languages.

TIOBE's index is normalized. Usage of Ruby is growing, but by TIOBE's methodology (based largely on the number of hits returned by web searches), Ruby didn't make the top 10 in October; hence, it's not in the graph.

 I think the number of this post readers is a clear ...

I think the number of this post readers is a clear indicator how much Java is popular.