This is tough to do. A while back, I sold off an effort I'd maintained for several years called http://langpop.com , which was, IMO, the best effort out there because I looked for a lot of different data sources to utilize including source code, google searches, books, and jobs.
One of my conclusions is that there is "popularity" in terms of overall use, and "acceleration" in terms of something gaining popularity quickly. Cobol is probably something in the first category. Ruby, when Rails started to take off, was in the 'accelerating' category.
I'm curious, did you consider a 3rd factor – something like enthusiasm or interest – where a language may be neither in wide use nor necessarily gaining much adoption but nevertheless garners a lot of attention? I'm thinking maybe Rust or Haskell?
Edit: I don't mean to slight those two languages, by the way. Both, I'm sure, are gaining actual adoption at non-zero rates. I just chose them to illustrate that, perhaps, the level of interest around them may be a bit out of proportion with either their adoption or their acceleration.
I included 'talked about' in the stats for that reason. I guess you could say that, yes, there are some languages that a lot of people look at and admire but don't really use that much. Lisp comes to mind as being #1 on that list.
enthusiasm would be very useful, for example, python won't ever be SO #1 because it's an easy language to develop in. Java will consistently "beat" it in that regard due to its dumb things like turning List<String> into String[] having the dumbest syntax ever. The SO rank is two factors combined in a way that is very difficult to separate, usage and difficulty.
Where's top 20 business language Cobol? Only 500 questions on Stack Overflow! No-one out there running a portmanteau of handles creating screes of trivial questions and answers to nudge its rank up.
And on Github a message that cries opportunity: "It looks like we don't have any trending developers for COBOL. If you create a COBOL repository, you can really own the place. We'd even let it slide if you started calling yourself the mayor."
heh yes I always wonder about these analyses -- is the # of questions on SO an actual correlate to popularity? Or is it the sign of an opaque or buggy language
It's funny (be warned, this is sortof flamebait i know) I left RoR to enter the Java world & since then it seems like RoR's popularity is still increasing on these metrics & it is very strong, even though the heyday of RoR seems to have passed. Many are critical of the new releases / constant breaking updates etc. and many viable MVC alternatives have emerged.
I think an interesting metric that is never really considered in these reviews would be "Number of SO Questions per user of the language" -- basically SO issues per capita. I think that may actually reveal some interesting facts about which dev platforms are most seamless to work on.
I appreciate the open source mantra & everything, still work on open source projects, but it is slightly worrying when I see these languages gaining so much traction yet having such a massive slew of banal issues ("trivial questions and answers" + things that are broken that shouldn't be, leading to workaround requests). I guess I have been converted to the evil Java empire (in fairness, I am diving into Clojure as well). JVM just seems more stable to me after dealing with everything in Rails breaking all the time & trying to balance dependencies ("I need to update this to use this, but then this will break. So I guess I need to update both gems plus Rails itself, but we aren't budgeted to do a bunch of integration testing right now, so... I guess we'll get that feature in 2 years or if it is ever backported" -- Java libs just seem a lot more robust to me, haven't yet faced an issue like this except for 1 or 2 workable IDE integration issues). OK that last bit really was a tangent.
Number of questions on SO correlates to number of people using the language that are likely to ask questions on SO.
SO skews towards web-programmers and MS stack developers. That clearly affects a lot of rankings.
Github similarly skews towards web-programmers (as a lot of the first users of it were RoR related) so you see the upper-right of this graph is mostly web related.
Also, some langauges have their own preferred forums for support, with a lack of the critical mass of SO users. If you want an answer to a Common Lisp question, please visit #lisp on freenode; if you post to SO it will go unanswered for weeks; it's likely to get answered in a few hours on #lisp.
[edit] And SO also skews towards homework questions.
yes i see what you're saying. thank you for the intro to freenode! it's real-time (well, the time it takes for someone to return to computer & read your question) IRC q/a for Lisp? very cool.
upload the logs & i bet it would be pretty parallel in function to SO. lol, i feel like their moderation usually only hurts the quality of posts if anything... if i ask a question that begs any thought or is open-ended in anyway it is immediately shutdown as an opinionated "asking for favorite library" question even if the functionality i'm looking for is clearly delineated -- which is what the real strength of a q/a community should be!!
"I want to do x thing that's never been done before. Based on the existing libs that do tangentially related things or offer partial functionality, how should I proceed?" > "My RoR form is giving me an error does anyone know why?" (usually a typo or outdated syntax because older version docs are no longer available in the gem community)
I was very sad to discover that most of the hits (I only checked one page) for slash on stackoverflow are actually questions involving the slash character (Generally http request parsing)
Developers who use popular language `Visual Basic` for their Github projects mustn't ever have any problems as they don't ever ask questions on Stack Overflow. Oh wait, it's tagged differently there, `vb6` and `vb.net`.
Yep the tagging needs to be worked on, julia get tagged as julia-lang on SO. And I am sure many of the languages ranking high on GH but very low on SO will have the same issue.
Very cool, I have wanted to see something like this for a while.
This chart would be more useful if the dots were language. Expand the chart out to where the legend is, and drop the legend. (Or move the legend below the chart, and have it as a table with Stackoverflow as one column and Github as another).
One of my conclusions is that there is "popularity" in terms of overall use, and "acceleration" in terms of something gaining popularity quickly. Cobol is probably something in the first category. Ruby, when Rails started to take off, was in the 'accelerating' category.