Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

The best way to get data on computer language popularity that I know is the TIOBE index. But everyone knows that TIOBE is hopelessly flawed. (If someone provides a link to support this, I'll add it here.)

So is there any data on programming language popularity that is generally considered meaningful? The only other option I know is to look at the trends at indeed.com, which is inherently flawed, being based on job postings.

It isn't like I would make a future language decision solely based on an index, but it might provide a useful balance to the skewed perspective one obtains by talking to ones friends and colleagues.

To illustrate that bias, I'll point out that based on the experience of those I personally know, the only languages used professionally today (in order of popularity) are Java, C#, Groovy, JavaScript, Ruby, Objective C, and Perl. (Though it is evident that C, C++ and PHP were used in the past.)

So my question is, everyone bashes TIOBE, but is there anything else? If so, can anyone explain how we know the alternative has better methodology? Thanks.

share|improve this question

9 Answers 9

One alternative would be to look at the number of questions for each programming language tag on StackOverflow.

I set up a Quick Query to do that: Post Counts By Tag

Unurprisingly, given the nature of that community, C# has a considerable lead.

Of course this also is biased against languages that because of ease of use might have fewer people asking questions.

share|improve this answer
    
+1 nice page, and for giving the drawbacks of the approach as well ... –  Rook Nov 5 '10 at 18:40
10  
SO started out by being promoted by Jeff's and Joel's blogs, and thus acquired a strong .NET bias. How this has influenced its subsequent community is questionable. There's a lot of C++ people there, for example, but does that reflect any real numbers? –  David Thornley Nov 5 '10 at 21:03
    
That's why I said "given the nature of that community, C# has a considerable lead." –  JohnFx Nov 5 '10 at 23:04
9  
Is the number of questions about a specific language on SO a measure of its popularity, or a measure of its obtuseness? –  Robert Harvey Nov 16 '10 at 19:39
1  
"Of course this also is biased against languages that because of ease of use might have fewer people asking questions.": Great observation! +1 –  Giorgio Nov 11 '12 at 10:17

As I've commented before:

"but there is no better source to measure language popularity" -- that's because there's no need for one. Nobody with any sense cares about rankings - so long as your language is alive and doing what you need it to, there's no need to worry about a silly arbitrary ranking.

share|improve this answer
    
There are a variety of reasons that such data is useful. But it may be the TIOBE is good enough for those reasons. –  Eric Wilson Nov 5 '10 at 18:36
    
If you want to state those reasons, I'm sure myself and others can prove that they're not sensible and/or that TIOBE doesn't address them. –  Peter Boughton Nov 5 '10 at 18:41
    
Is it not sensible to wonder if, say, the interest in Java is tanking before, say, teaching Java to a 14-year-old budding programmer? A good index would never provide an answer to the question, but to say that good data would have no use in any decision is mind-boggling. –  Eric Wilson Nov 6 '10 at 2:41
4  
Don't teach Java to a 14-year old budding programmer. Teach programming to them. Sure, start with Java to do so, if you want, but use it as a tool for teaching them transferable skills. It is not sensible to only know one syntax and paradigm, nor is it harmful to learn a language that might currently be less popular. (e.g. How big was Obj-C before the iPhone SDK arrived?) –  Peter Boughton Nov 6 '10 at 14:54
1  
Start with a language, almost any language, with an interactive interpreter. Don't start with Java or any language requiring a separate compilation step. –  kevin cline Jan 15 '13 at 23:20

Want Ads - While they may not be the best for the international community, they tend to be a very good measure of the local area where you are working. If you suddenly start seeing a of ads looking for developers who know language x when there used to be ads looking for developers who know language y and these trends persist for several months, it can indicate a shift in popularity in your area.

share|improve this answer
1  
+1 of course, this is the law of offer and demand. –  user2567 Nov 5 '10 at 16:54
1  
The problem with this is that want ads are a lagging indicator, whereas the OP seems to want a leading indicator. –  dsimcha Nov 5 '10 at 17:20
3  
Indeed.com has a nice tool for this type of research (indeed.com/…) –  JohnFx Nov 5 '10 at 18:45
    
Of course, I mentioned indeed.com –  Eric Wilson Nov 5 '10 at 20:54
2  
This is not supply and demand, this is demand only. –  jk. Aug 24 '12 at 21:02

Pretty much for the same reason you have the troubles described here: http://blog.timbunce.org/2008/04/12/tiobe-or-not-tiobe-lies-damned-lies-and-statistics/ you are going to have similar issues with any other "pretend to say what is popular across many populations" ranking.

Units shipped cant be compared with units downloaded

Taking in-use figures from websites or commercial software shorts languages used in research or math as that stuff is not exposed.

Doing anything with trends or keyword analysis is likely to be trendy or be a buzzword count.

Unless you have a target area in mind it would be difficult to suggest what would be better. I would guess based on the languages you mentioned you might be interested more on the trendy side, but as a general answer this is not good as there are probably an equal amount of people interested in the lo9ng-term side.

share|improve this answer

The only way I can see is general survey of the population. Something like a phone survey used by political pollsters. You'd probably have to call 100,000 random people to reach enough people who report themselves as programmers to make the result valid. Then ask them what they use.

The reason you need to do this is that every online indicator is self-selecting and thus incorrect. Tiobe, google searches, SO posts, whatever. Nor can you look at coference attendence or magazine subscriptions.

If you want actual usage statistics, you need to survey the general population.

share|improve this answer

Google trends is another one you can use.

There's no 100% correct answer or source of data in this space. The best you can do is aggregate data from various sources and come up an accurate as possible conclusion from that.

share|improve this answer

Here is one guy who has studied the correlation between number-of-code-repos-on-github.com vs #of-posts-tagged-with-"language" on stackoverflow.com. Data from 2010, ages ago. Long comments thread.

http://www.dataists.com/2010/12/ranking-the-popularity-of-programming-langauges/

Here's another data source, from a job-broker company, url accepts "q" param in query string, outputs a diagram

http://www.indeed.com/jobtrends

http://www.indeed.com/jobtrends?q=perl

share|improve this answer

It'd be interesting to survey a bunch of major open source code repositories and measure how many lines of new code in each language are committed each week. Not sure the actual numbers would tell you anything, but the trend over time could be very revealing.

I like this as a measure as it's more to do with how much actual real work is getting done in the language rather than how confused people are by shiny-new-thing (which is what google/SO search/question rates are heavily influenced by I think).

Of course there are all sorts of problems with my proposed metric too; FOSS-world is a subset of real world, some languages gravitate towards particular repositories (which you might miss), some languages are more efficient, and all the other problems associated with LOC metrics. Maybe just "number of commits" in each language would be more useful.

Anyone know if such statistics are available anywhere today ? Seems like something Ohloh/Koders/Krugle should be able to do.

share|improve this answer

As everyone says "its a bit hit n miss", and besides you don't get to see the future trends from this as even on search term results, you'll get lots of people talking about why "old language" is better then "new trending language" and thus skew the results.

The Language Popularity site does try to aggregate a load of language searches from various sites to give an overview, only they do explain which languages are popular on which sites and let you decide which makes sense, so for example, Google likes C, Yahoo likes C++ whereas Craigslist likes PHP.

I think the best one is the jobs market - which languages show up most on job adverts is a fair indicator, along with the salary offered for them.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.