Interest in the C programming language is plunging, according to new data from TIOBE, which maintains a regularly updated list of the world’s most popular programming languages.
That’s a somewhat surprising conclusion, considering how TIOBE’s December list places C in second place, unchanged from December 2015. Nonetheless, TIOBE sees some softening in the language’s popularity. “The language was in a range of 15% to 20% for more than 15 years and this year it suddenly started to suffer,” read a note accompanying the latest update. “Its ratings are now less than 10% and there is no clear way back to the top.”
TIOBE calculates its rankings based on data from 25 search engines, including Google and Bing (a lengthy breakdown of its methodology is available on its site); the final list is meant as a gauge of popularity, not actual usage. That makes TIOBE very different from, say, GitHub, which ranks languages according to pull requests on its repositories.
Why does TIOBE think C is declining? “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,” its note added.
TIOBE has hammered on C for quite some time. Earlier this year, it again emphasized how C is “hardly suitable for the booming fields of web and mobile app development.” That being said, job postings on Dice (as well as rankings compiled by other organizations) suggest there’s still widespread demand for C, which can be used in everything from operating systems to data-intensive applications, and serves many programmers well as an intermediate language.
TIOBE’s top-ranked languages include (in descending order) Java, C, C++, Python, Visual Basic .NET, C#, and PHP. That’s unsurprising, given those languages’ ubiquity; there’s more movement further down the organization’s list, where even a small shift in the number of developers using a language can cause it to jump (or tumble) several slots.