Here’s an interesting chart, giving a realtime view of which programming languages have high mindshare. The chart has one axis devoted to number of lines in code commits on GitHub, and another to how often the language shows up in tags on StackOverflow.
I don’t think the chart is perfect. I’ve seen it billed as a “popularity index,” but I think it might be better described as a measure of how busy the coders are who use each language. If most of the coders who use a language hate it, I don’t think it’s fair to call it “popular.” Some apples-to-apples issues are glossed over, such as the fact that certain languages are very verbose, and some languages tend to get used mostly for “big” projects or for “small” ones. And the chart says nothing about the quality of systems built with the languages, or about the velocity of teams.
- There are a lot of languages out there. What a busy world we live in! All the more reason to learn voraciously.
- Languages with a mediating runtime (JVM, .NET) are very popular, with languages that compile at runtime as a large subset. I don’t think bare bones C/C++/Assembly/Objective C will ever go away, but the evolution toward higher level environments is clear.
- It’s interesting to ponder what commonalities exist between sets such as languages that are growing quickly, languages that are stale and neglected, and so forth. Fodder for my experiments with language design…
- What languages are on your list for learning?
- What other comparisons of programming languages would you like to see? Average bugs per KLOC? Length of learning curve? Average team size? Geographical distribution? …