For example, I'd personally completely remove stack overflow questions. It could mean a language is incredibly complex rather than important or commonly used.
But for Angular 2, I can't do anything without looking up the documentation (at least they did an excellent job writing it).
So I would say you are right that StackOverflow is a better indicator of complexity than popularity.
In the bigger picture functional programming has made huge inroads. Facebook has a Haskell team whose product handles up to 1 million requests per second, and it's also in production at AT&T, Microsoft, Google, Barclays, New York Times and many smaller outfits. The other day I read about a Haskell-like language being used for high-speed, low-latency trading for a hedge fund.
But there are probably at least 100x more SQL developers out there.
Conversely, there are plenty of weekend Haskellers who enjoy discussing it whenever possible.
"(This is a great moment for us to reiterate our response to the complaint of some in years past of “HTML isn’t a programming language, it’s just markup.” At Spectrum, we have a very pragmatic view about what is, and isn’t, a recognizable programming language. HTML is used by coders to instruct computers to do things, so we include it. We don’t insist on, for example, Turing completeness as a threshold for inclusion—and to get really nitpicky, as user Jonny Lin pointed out last year, HTML has grown so complex that when combined with CSS, it is now Turing complete, albeit with a little prodding and requiring an appreciation of cellular automata.)"
I get what they are going for and I don't really disagree but by this logic chrome/firefox .exe should probably be the top most widespread programming languages.
[1] https://en.wikipedia.org/wiki/Wiring_(development_platform)
https://en.wikipedia.org/wiki/Swift_(programming_language)
https://en.wikipedia.org/wiki/Swift_(parallel_scripting_lang...
My point is that computer programming as an industry is so diverse and complex that these general comparisons become almost useless.
Some examples:
* If you live in a town with lots of government agencies and big corporations then it is a lot more important to understand some obscure Java or .Net framework than even mainstream languages like C or C++.
* If you live in a place with a big financial industry or hardware development then probably understanding the arcane details of C++ and compiler idiosyncrasies is more useful than any web-related language.
They aren't listing this based on a single metric such as 'jobs in this programming language' or 'sites run on this programming language', but more a level of how trendy it is.
They have 12 sources scored out of 100, the defaults are:
-100 "IEEE Xplore" (Publication): This will bias new popular and emerging languages as a journal is more likely to cover topical interests.
-50 "Google Trends" (Trend Tool): Google trends will also bias as the results from the trends tool are relative and not absolute. If "Arduino" leaped up in searches while "PHP" stayed the same, Google Trends would overweight Arduino.
-50 "GitHub Active" (Code Repo): This one I'm ok with, but it depends on the definition of active and how much weight is given to the size of the project. Does two projects having at least one commit in 30 days mean that WordPress' PHP repo is just as active as my_fist_Haskell repo?
-50 Google (Search): It's unclear what's being measured here, volume of searches? Volume of results? Quality of results? The other consideration is if you know a language well or have sources you trust in that language you might not be searching at all.
-30 GitHub Created (Code Repo): I think this is overweighted unless it filters out inactive repos or those with only a readme file?
-30 Stack Overflow Views (Q/A Site): This seems like it should be much higher.
-30 Stack Overflow Questions (Q/A Site): Unclear if this is questions this year, or questions total. If it is new questions this year that will heavily bias the results to emerging languages. It's also unclear if this counts specialty stack exchanges.
-20 Reddit (Social): Seems like a bias sample to include as some projects choose this as their homebase for communication and others don't.
-20 HackerNews (Social): We're also realistically a bias sample as we're more likely to talk about trendy languages even if it doesn't have a large following.
-20 Twitter (Social): I don't use Twitter enough to comment on this, but I think it is important to define what is being measured here. Raw tweet count? Reach? Engagement?
-5 Career Builder (Job Site): ...Why?
-5 Dice (Job Site): ...Never heard of it.
What's missing?
I would have liked to see jobs from LinkedIn, AngelList, Stack Overflow Careers etc included, as well as volumes of subscribers for educational sites like Udacity, Udemy, FreeCodeCamp etc.