By recently looking at the TIOBE Programming Community Index (Sep 2012) I noticed the following order:
- C
- Java
- Objective-C
- C++
- C#
- PHP
When looking at the tag frequencies of stackoverflow however, the situation is as follows:
- C#
- Java
- PHP
- JS
- Android
- jquery (JS)
- iphone (Objective-C)
- C++
(Java takes the lead when accounting for Android tagged posts w/o a Java tag). JavaScript also likely has surpassed PHP in total numbers of programmers?
I realize the tag-frequencies may not be the best indicator, but it is likely a sufficient measure nonetheless.
What am I missing that explains this discrepancy, especially for ANSI C
and JavaScript
( #11 in the TIOBE index)?
Links:
- Wikipedia TIOBE index
- The Transparent Language Popularity Index
- Jobs Tractor language trends
- Github top languages
- Langpop
0
The TIOBE index is based on search engine result numbers. This is influenced by the total number of websites that exist which mention a language, and the index size and algorithms of search engines. Specifically, C may benefit from a lot of old documents.
The tag frequencies on SO are based on questions asked on one specific website (which is not even very old). This is influenced by the composition of the SO community and the attractiveness of alternative resources. Specifically, C# got its top spot probably because the two founders of SO both promoted it on their popular blogs, which have large followings among Microsoft-centric developers.
So basically, the two indexes measure completely different things.
1
While C may be the most used programming language or the most popular programming language in general, it’s certainly not the most popular language of the last few years. Most people starting out in programming today are exposed to a different set of languages and are likely to end up with something else as their first language. Schools drop C++ and pick up Java for their curriculum, and it’s a worldwide trend. People who do websites as a part-time job in high school will likely end up using PHP. And so on.
So most beginners are beginners in something else than C. Hence the beginner questions that make up a substantial part of questions on SO will be asked regarding a different language than C. Even if the same people will end up picking up C later on, they won’t be having the same kind of problems they had with their first language or they’ll have enough experience to deal with simple issues on their own.
Still, when you weed out tags that are not strictly speaking programming languages, C ends up at a quite respectable 8th place. And looking at the way TIOBE index is made, C gains much as a part of the dreaded C/C++ HR combo. As far as I’m concerned, both C positions in the TIOBE index and on the “SO popularity list” are skewed, only in opposite directions.
7
The frequency of questions raised at Stack Overflow and similar sites may have some bearing on actual use but there is no strong correlation. Developers using a common language may find answers elsewhere or just not ask questions on Stack Overflow. Meanwhile, developers using a less common language may use Stack Overflow proportionately more.
0