14 comments

[ 3.5 ms ] story [ 49.0 ms ] thread
This is an improvement, but this ranking will be biased towards languages that generate lots of questions. A language that attracts more seasoned developers that also has decent documentation will rank lower than it should.
It's also going to be susceptible to some "popularity contest" skew. For my part, I've been known to post the sample code for my questions in C# even if that's not actually the language I'm working in when I hit the problem. C# is the lingua franca of the platform, so the questions is likely to be seen by a wider audience that way.

That said, I've wondered for a long time if the Tiobe index is subject to a potentially much bigger source of skew - namely, I suspect that C, C++ , and Java get a boost for being three of the most popular languages for people who spend more time talking about programming than actually programming.

Additionally, AFAIK, stackoverflow started out as .net/C# community, so they're probably somewhat biased towards that. To remove such bias, you'd probably need to analyze at least a few dozen such forums.
Short of an international software developer cold-call survey, all "language popularity" estimates are going to be weighted towards some specific community.

TIOBE seems weighted towards blog/article writers, using GitHub et al. would be weighted towards the open-source community.. Stack Overflow is also a fairly cohesive community, though a harder one to name: people who ask for help in online Q/A sites?

For instance, I'll bet that none of those three communities overlaps much with government contractors. Within the firms I've worked with, they are very, very hesitant to even use the Internet, let alone participate in it. Information comes from dead trees only. They are also staffed by a much older crowd. And they have a ton of software developers keeping Ada, C, Assembly, and Forth alive and kicking.

I would have ranked SO as beginners and pedantic, humorless editors :)
I know some C programmers, and they are hanging out on Usenet newsgroups, not on StackOverflow.
One metric is job postings containing the language:

http://www.indeed.com/jobtrends?q=java%2C+c%2B%2B%2C+ruby%2C...

edit: fixed spelling of clojure ;)

All metrics are imperfect: this one of course over-represents languages used by employers. It won't capture self-employment (a significant and growing trend). Also, it's uncomfortably common to advertise for one thing in order to filter applicants, when the job is actually for something else. (Maybe it's clever of them, but I've felt cheated by this bait-and-switch.) Along these lines, ability to pick up lesser skills is assumed. (Perhaps that's why PHP doesn't appear.)

Stackoverflow/web searches over-represent languages used with the web (esp Javascript). But, since the web is the fastest-growing industry, it may be an accurate anticipation.

Wow is this common? I wouldn't be surprised. More and more, I see job posts that list multiple languages (more than two or three), and I wonder why they would have such a fragmented setup. But I guess having one script somewhere in Haskell, for example, might help attract a bunch of smart folks but who are then asked to write C# all day. There is a large informational gap between employees and employers unfortunately.
Happened to me twice, and Google once boasted about advertising for python to filter for devs at the forefront - not that they'd actually be doing much python. I guess one could check in the interview.
The search results can also depend on the titles of popular books. "The C programming language" matches the TIOBE pattern, "Programming in Scala" does not.
In the case of Tiobe one of the problems is that Scala programmers don't typically say "Scala programming", but rather "Programming Scala" or "Programming in Scala" which maps back to the book titles. Tiobe searches for the specific string "Scala programming"
I've often wondered whether using Stack Overflow as a popularity metric will create a bias for languages which are hard to learn.