If you’ve never run across it before, the TIOBE Index is an interesting measure of the popularity of current programming languages.
The definition of how the index is calculated is here. The rankings are based on relative number of “hits of the most popular search engines.” As noted in the FAQ, even these relative numbers can be affected by changes in the methodology used by a search engine.
I’ve looked at Google Trends in the past, so I thought I’d do a quick check on some of the highly ranked non-grouped languages (here):
This result is surprising in that C seems to have more hits than either Java or C++. Maybe it’s because GT doesn’t include Google Blogs (or does it?), MSN, Yahoo!, and YouTube. With Google having ~70% of the search market share (see here) the addition of the others shouldn’t make that much of a difference. It would be nice to understand the discrepancy.
I can’t say I have a lot of faith in Google Trends results in general though. Their definition:
Google Trends analyzes a portion of Google web searches to compute how many searches have been done for the terms you enter, relative to the total number of searches done on Google over time. We then show you a graph with the results — our search-volume graph — plotted on a linear scale.
This explains the general downward trend — there are a lot more searches being done overall relative to these terms. Actually, just about any search term produces a similar looking plot. Only those that have specific events (like this), an annual activity (this), or seasonal fluctuations (this) show anything of interest. Trying to use GT for anything else seems fruitless.
Anyway, as to the usefulness of Tiobe Index:
The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system.
Some people think The TIOBE index is meaningless. There’s also some good analysis and discussion in Programming Language Trends. I don’t think the index is meaningless, but using it for either of the stated purposes should be put into perspective.
The first thing is that in terms of the mainstream (A) languages, not a lot has changed in the last five years. Because these trends move so slowly, an A language you pick today will probably still be A in four or five years from now.
The trends for lessor used languages (B and below) are of academic interest only and the position jocking (‘Python beats Perl’) is meaningless without knowing the reason why. If you want to know what the next A-list language is going to be in the future, try Top 10 programming languages of the future.
More importantly though is that your language choice(s) should be based on the best practices used in the industry that you work. The selection of a language or tool is based on many criteria. The Tiobe (or any other) list position is most likely going to be a small part of that decision process.
UPDATE (4/12/09): Just ran into this site – Programming Language Popularity which appears to use actual search results (instead of hits) for its rankings.