Dev Watch

Blog archive

So Just How Popular Is the C Programming Language?

Programming language popularity index No. 1: "C is No. 1."

Programming language popularity index No. 2: "C at an all time low."

So which is it?

Both. Which speaks to the problem with programming language popularity indices.

The above example No. 1 was published by IEEE, just a couple weeks before example No. 2, the monthly TIOBE Index report for August.

"After two years in second place, C has finally edged out Java for the top spot," IEEE Spectrum editor Stephen Cass said about IEEE's ranking of the top 2016 programming languages.

"The C programming language has a score of 11.303 percent, which is its lowest score ever since we started the TIOBE index back in 2001," said the August TIOBE report.

Different results reflect different methodologies of the ranking mechanisms. Those methodologies are too detailed to list here, but the TIOBE Index draws upon the number of searches for +"[language] programming" across 25 search engines, according to its definition page.

TIOBE Index for August 2016
[Click on image for larger view.] TIOBE Index for August 2016.(source: TIOBE Software)

The IEEE, on the other hand, explains that "Rankings are created by weighting and combining 12 metrics from 10 sources."

And those are only two of a growing number of organizations taking upon themselves the task of informing developers about programming language hotness, purportedly to help guide their careers or influence enterprise development decisions or something else (like get free publicity in the trade press). Also getting in on the act are organizations such as GitHub, PyPL, RedMonk, Stack Overflow and even relative newcomers like HackerRank and Packt Ltd (the latter in the context of making more money).

While each has different criteria for measuring that popularity, these surveys can be useful when taken with a grain of salt. For example, long-running indices serve to identify trends over time, with everything else being equal. And taken as a whole, they can serve as an indistinct barometer of programming zeitgeist, if one pays attention to the details.

For example, one sees the same languages ranking near the top in almost all of these studies. You can bet that C, Java, JavaScript, C++ and Python will make a strong showing in the top 10.

That's certainly the case in the latest TIOBE Index. And despite hype about C's poor showing, it doesn't appear to be doing all that badly. It's still listed as No. 2 on the index, just as it was last year, sandwiched between Java and C++, just like it was last year.

TIOBE picked out the "C at an all time low" headline enhancer because, well, it needs to say something about each month's new findings, which often aren't all that new. "Programming language ranking stays the same, again," just doesn't have the same cachet for collaring clicks, for example.

And truth be told, C did show a significant fall-off in its percentage rating, exhibiting a drop of 3.43 percent from last year's measurement.

"One of the main reasons for this drop is that C is hardly suitable for the booming fields of Web and mobile app development," TIOBE said. "Moreover the C programming language doesn't evolve like the other big languages such as Java, C++ and C#. There is a 'new' C11 standard available but this contains only minor changes. The constraint that C object code should remain small and fast doesn't help here. Moreover, adding C++ like features is also out of the picture because that's what C++ is for already. So C is a bit stuck. Yet another reason why C is getting into trouble is that there is no big company promoting the language. Oracle supports Java, Microsoft supports C++, C# and TypeScript, Google supports Java, Python, Go, Dart and JavaScript, Apple promotes Swift and Objective-C, etc. but none of them supports C publicly."

Which goes to prove that programming language index expert commentary might be more useful than the little-changing indices themselves.

You can also ingest your grain of salt with a little help from the always-cynical developers on sites such as Hacker News and Slashdot. The former, for example, has been pointing out "TIOBE language popularity absurdity" or similar commentary for five years now.

And Slashdot readers are always ready with constructive commentary like "C Isn't The Most Popular Programming Language, JavaScript Is."

For what it's worth, here's a summary of some recent reports showing where each places C:

IEEE
  1. C
  2. Java
  3. Python
  4. C++
  5. R
  6. C#
  7. PHP
  8. JavaScript
  9. Ruby
  10. Go
TIOBE
  1. Java
  2. C
  3. C++
  4. C#
  5. Python
  6. PHP
  7. JavaScript
  8. VB .NET
  9. Perl
  10. Assembly
Packt
  1. JavaScript
  2. Python
  3. Java
  4. C
  5. SQL
  6. PHP
  7. HTML
  8. CSS
  9. R
  10. Bash
PYPL
  1. Java
  2. Python
  3. PHP
  4. C#
  5. JavaScript
  6. C++
  7. C
  8. Objective-C
  9. R
  10. Swift
Redmonk
  1. JavaScript
  2. Java
  3. PHP
  4. Python
  5. C#
  6. C++
  7. Ruby
  8. CSS
  9. C
  10. Objective-C
GitHub
  1. JavaScript
  2. Java
  3. Ruby
  4. PHP
  5. Python
  6. CSS
  7. C++
  8. C#
  9. C
  10. HTML

As you can see (OK, pun intended), C is all over the place. Kinda like programming.

How useful are programming language popularity indices to you? Comment here or drop me a line.

Posted by David Ramel on August 15, 2016