As 2016 drew to a close attention was drawn to the fact that, while retaining its overall ranking at #2 within the TIOBE Index C had suffered a steady decline for over 12 months.
Like all other statistics you have to be aware of the flaws and limitations of the TIOBE index. However, its very longevity - it has charted relative changes over the past 30 years does make it a credibly authority about the popularity of programming languages.
The post relating to December 2016 asks:
What is happening to good old language C?
While this question is being asked mainly in relation to the previous year it is worth being aware of its longer history. C held the number 1 position until Java, which only entered the index in the mid 1990s took over around 2000-2001. Despite competition from C++ for a brief period in 2003, C has held on as the second most popular language and regained the covered top ranking for most of the three years between April 2012 and April 2015.
Let the TIOBE post take up the story
The programming language of all programming languages C, is consistently going down since November 2015. The language was in a range of 15% to 20% for more than 15 years and this year it suddenly started to suffer. Its ratings are now less than 10% and there is no clear way back to the top. So what happened to C? Some months ago we already listed some possible reasons: it is not a language that you think of while writing programs for popular fields such as mobile apps or websites, it is not evolving that much and there is no big company promoting the language. May be there are more reasons. If you happen to know one, please share it with us.
In fact, when you look at the top three languages in the chart above all of them show a decline this year - so what is coming up instead?
One language showing marked rise is Visual Basic .NET. This could possibly be a response to Microsoft's move towards open source - but if so why the slump for C#?
Assembly Language is one that has seen a consistent rise in the period which we commented on back in July when it suddenly made it into the TIOBE Top 10. Mike James speculated then that this sudden popularity might have something to do with increasing attention to the Internet of Things (IoT), but in which case why didn't C show a similar trend?
If you compare it to the curve for C it is clear that C has fallen recently - which, if the rise in assembler is driven by the IoT, is very strange as C is a much more important language to the IoT than assembler. As already suggested, you really only move to assembler on the rare occasions when C runs out of steam.
He had another more explanation for this increased activity to do with the difficulty of finding the information required:
If you try to find out about programming in assembler, almost any assembler, then you will discover that there is no single route to success. You are going to have to search some more and then some again. Perhaps it is something to do with the poor state of assembly language documentation that spurs on increasingly desperate searches for more information, even if few people are really actually doing anything as a result?
This is almost unprecedented. First we have a major result in computer science. A couple of months later it is suddenly retracted, causing a wave of disappointment through the community. But to [ ... ]