Another way to look at the TIOBE index results.
It’s quite common that developers cite the TIOBE index to me as a measure of how popular a language is. This has interested me for some time, however, I wonder why the TIOBE index is so highly regarded!
Find the TIOBE index here: http://www.tiobe.com/tiobe_index?page=index
Don’t take me wrong here, I find TIOBE to be an interesting system for gauging a metric on how popular a programming language is, and I respect their attempts to rank the languages from the available data. Unfortunately, I think that the value that developers are placing on the results is perhaps misguided or misplaced.
For one thing, I’ve been able to demonstrate that the slightest misstep in their algorithm or policy can dramatically affect the success of a language on the index, as it did rather unfairly to Object Pascal in the past. Beyond this however, I wonder if the data source is really even the most reliable to begin with.
You see, the problem as I see it is that TIOBE ranks languages based on the number of searches and search result hits that the language gains from various internet search engines. Now, I may be misreading the situation here but, isn’t it possible that a highly utilized language which is simply difficult to use, would inspire it’s users to search the web for support? Think about it, when you can’t figure out how something is done in your programming language of choice, what do you do? You likely open up your favorite search engine and search for “How to do X in language Y…”
So it’s quite possible then that the TIOBE index ranks languages based on how popular they are, but that at the top of the index those numbers are skewed by how difficult a language is to use, and therefore how often people find it a valuable exercise to create ‘how-to’ pages, or search for support. It could be that the most successful languages on the index are successful precisely because they’re problematic to use.
Go take a glance at the index again and ask yourself, which of these languages is notoriously difficult to use? Which of them have common failings? For example, which languages do frustrating things with regards to memory management? Which of them have the most syntax eccentricities? Which of them have I read the most rants about? Do your answers match the top 5-10 entries in the index?
Now, you may think that I’m saying this exclusively to benefit my beloved “Delphi – Object Pascal” which sits at #11. It’s true, I’m biased and I make no apology for it, so do with that what you will. That said, I recall reading an article a few years back about how Delphi developers are the happiest. I’m unable to find the original source, so I’ll link to this blog post covering the happiness analysis of github commit messages. http://codeofrob.com/entries/evented-github-adventure—sentiment-analysis-of-github-commits.html
So in conclusion, be sure to use the TIOBE index as an indicator of what’s hot and what’s not in programming languages, but if you’re interested in understanding how your chosen language might also play out on your work-life balance, or your stress levels, then perhaps you should tilt your head side-ways and look at that index from a different angle.
Thanks for reading!