13

I thought it would be a good idea to track a programming language's popularity by looking at Stack Overflow. I took 20 languages and counted the number of questions per language and put the results up in a table.

I used a very crude algorithm and compiled the results on my blog.

I ran the algo against the number of questions asked for a particular language, but this could be useful information to have if the developers of Stack Overflow could create a page for it somewhere.

They could use votes and answers as well as questions to gauge the popularity of a language, and they could also restrict the queries to a particular month to get an indication of current popularity rather than historical.

Would it be useful? Does it make sense?

(Apparently, SO was not seeded (see comment), so no bias towards .NET from that angle)

2
  • From your post: "I think it was seeded from a .net questions and answers forum which used to live on the Joel On Software page" - no, it was not. Jeff wanted that originally, but decided against it to not have a .net bias from the beginning. SO was completely empty when the beta started. Commented Nov 12, 2008 at 14:36
  • Good points, also from @peterchen. As well as counting questions, you might like to measure what % of questions per language have >=1 answer with rep >= 0, >0, or the median number of such answers. We might find that some topics generate lots of questions with few answers, or few good answers. Did people ask questions because they were happy users, curious, or frustrated? Also, to what extent do new versions/standards like C++ 14 or Python 3.x generate questions? (We know that production usage of Python 3.x has lagged interest, due to migration, but in 2015 the 50% point was crossed).
    – smci
    Commented Nov 12, 2016 at 4:26

16 Answers 16

17

I have the impression that stackoverflow readers are strongly biased towards the Microsoft stack, thus the popularity of C# and related languages. This is not a random sample of the programming population.

Thus general popularity is out of the question. It surely might be useful to track how the membership evolves over time or to know what are you most likely to find here, or similar stuff. I think I'm not the only one waiting for DB dumps or at least the SO API.

8
  • +1: it's a self-nominated group -- not a random sample.
    – S.Lott
    Commented Nov 12, 2008 at 11:22
  • yeah looks so to me too. even though one would guess the opposite first ('cause of its open thinking) Commented Nov 12, 2008 at 13:07
  • 2
    I think it's because many of the readers come from Jeff's blog, who himself is a Microsoft stack developer and who (at least used to) put specific C# advice there. So it's very likely the majority of his readers develop on that stack too. Commented Nov 12, 2008 at 13:39
  • 2
    The other co-founder is Joel Spolsky, also a MS-stack developer, so his readers are also skewed toward MS technologies. Commented Nov 12, 2008 at 14:05
  • So what is the split between MS and non-MS developers in the real world> Commented Nov 12, 2008 at 14:25
  • 1
    I don't know, but if one is to believe other language popularity measuring sites, like langpop.com or tiobe.com/index.php/content/paperinfo/tpci/index.html, it surely does not resemble what's here. Commented Nov 12, 2008 at 14:37
  • Can you believe TIOBE for example?
    – Steve
    Commented Nov 14, 2008 at 9:40
  • 1
    More than in a pure SO sample, sure. It of course has its own flaws, but bias is not one of them. Commented Nov 14, 2008 at 9:59
9

You might be measuring how hard it is to solve problems with the language (i.e. how likely people are to need to use StackOverflow), rather than popularity of use.

Hence the few questions from smug Lisp weenies :)

5
  • yes, I had thought about that.
    – Steve
    Commented Nov 12, 2008 at 10:43
  • Also, you have to deduct the questions that are purely argumentative. The "I can do this in one line of Perl, what's wrong with Python that makes it two lines?" questions.
    – S.Lott
    Commented Nov 12, 2008 at 11:24
  • 1
    By this criteria C# is a lot harder than C or C++ Commented Nov 12, 2008 at 16:11
  • I'm not sure you'd have to exclude argumentative questions. It still shows interest in that language.
    – Steve
    Commented Nov 14, 2008 at 9:41
  • 1
    Disagree. You are measuring how easy it is to solve problems with the language by asking questions on StackOverflow. In other words, C# developers like StackOverflow because questions quickly get good answers, sometimes from world experts. Doesn't prove there's more C# programmers in the world, just proves a lot of C# programmers hang out on StackOverflow. Mainly because they were attracted by two Microsoft-oriented bloggers who launched it: Jeff and Joel.
    – MarkJ
    Commented Jan 31, 2010 at 18:21
6

Not really.

You will always be tracking how many questions are asked about a language on stackoverflow.

If I ask about Installshield, do I ask because it's "popular", or just because I'm chained to the smelly rotten carcass of it? If there is a continuous but notable increase in C++ questions - does it get more popular, or did they release an update with new features? A continuous decrease of Java questions - did people give up on it, or have they found a place with more Java experts? A jump in ADA questions - did it just capture the spotlight, or did a company using it just change its internet access policy?

There are to many influences that you cannot control for.

0
4

See Bayes' theorem. It depends on the probability of reading stackoverflow given language X.

4

All such a sample will ever give you is a measure of the likelihood of the next question on SO being about language X. It cannot be reliably used to determine the popularity of languages in the "real world".

2

It can be used to track language popularity on stackoverflow. This one data point should not be used to talk about general popularity.

But when this site has matured a bit, perhaps this one data point should be added to e.g http://www.langpop.com/

2

To embellish the answers above, I'll add that by counting Stack Overflow questions you might be tracking the "popularity" of:

  1. current-generation languages,
  2. with tricky corner-case issues,
  3. used by less-experienced programmers,
  4. on Windows,
  5. who listen to podcasts,
  6. and read blogs,
  7. and don't work in mutually-supportive development teams...

;-)

1

I find studies like this very interesting. Just recently google started "Google Flu Trends" where they are using the number of people who search about the flu as an indicator of the the number of people who have the flu in that state. You can view a map of all 50 states to see where the flu epidemic is spreading to and to what degree so you can have early warning systems.

I think it would be useful. It might not be directly indicative of how popular a language is in general but that doesn't mean the information isn't useful. As far as implementation I think if we could have something similar to how we can select our reputation on the graph it would be neat to be able to select a range of time and see a overlayed line graph of the various languages and their question frequency.

1

Had just done exactly that a few minutes ago, before checking your post, to compare Python vs Ruby. Python has about twice the tag frequency of Ruby, which seems right. Since Python is Ruby's elder.

1
  • But that would imply that Python is only twice as popular as Ruby, which I think greatly overestimates Ruby's popularity. I could be wrong too, since my own metric is "people I know and blogs I read". :) Commented Nov 12, 2008 at 12:58
1

A better way to find out about the popularity would be to post a community wiki question with various choices are answers, set some guidelines for voting, the number of votes should give a fair indication of the language that is popular

1

So, if we all ask 10 Cobol questions, it will be the most popular language of all? ;-).

3
  • 1
    Yes, but you're only likely to ask questions on Cobol if you use it. And the more you use it the more likely you are to use it.
    – Steve
    Commented Nov 12, 2008 at 13:16
  • ...likely you are to ask questions.
    – Steve
    Commented Nov 12, 2008 at 13:17
  • ...or to scream primally and change language/job
    – smci
    Commented Nov 12, 2016 at 4:28
1

No - not unless the vast majority of all programmers asked questions here. Even then, there would be the problem of proportion: would few questions mean that a language was not popular, or that it was easy to learn or had so many tutorials available that it didn't need questions asked?

In short, you'd have to factor some difficult-to-measure attributes just to get an estimate of popularity amongst SO users, and there's no guarantee that we're representative of the rest of the programming world. Comparing Java to PHP in your table gives you a good indication that it's not representative.

1

Yes, I love statististics. Can't have enough of them. Just make it easy to find the one supporting my current claim. :)

1

I don't think it is.

First of: a lot of programming languages have other forums too. For example, Perl's low popularity here (< 2% of the questions) is IMO, although some very highly respected people from the online Perl Community spend their time here (too), mainly because Perl folks have PerlMonks, a Perl specific site.

And the amount of questions that are asked is more because people are having trouble with the language. Not all languages are equally hard. :)

I think a better metric could maybe be the number of replies to questions, and/or how long it takes for a question to be answered. Or not.

0
0

It might be a useful data point if you include information from several more sites. Some other data you might incorporate into your measurement could be:

  • Language popularity on open source sites like SourceForge and Google Code.
  • Frequency of languages mentioned on programming blogs (all of them, not just the popular ones).
  • Surveys of language support in popular IDE's (e.g., you might be able to find out how many times the Perl, Ruby, and Erlang plugins have been downloaded for TextPad).

With a bit of data mining you can probably come up with a useful metric.

0

I'd be interested in including the results in http://langpop.com if SO grows to be a fairly large community that continues to add languages and diversify, rather than trend towards one particular set of technologies. Incidentally, I'm always looking for other cool new things to add to that site, so let me know (via email, preferably).

Thanks, Dave