Good Ol' C Tops the IEEE's 2016 Programming Language Ranking

It's like concrete winning a contest of building materials.

Jul 28 2016, 2:30pm

LOKI the robot runs on C++ code. Photo: Intel Free Press/Flickr

I'll be honest—part of why I love C programming is because it's sort of the antithesis of how every way cooler programming language works.

C code is an often rigid world of semicolons and curly braces and memory management. You can really fuck C programming up: It's the last proper programming language layer encountered before running into machine instructions and the actual machine itself. Most anything you can think of, from operating systems (pretty much all of them) to Arduino code to the Python language, reduce to C. It is from-scratch programming.

After two years of ranking second below Java, C retook the top spot in the IEEE's annual programming language rankings, a popularity assessment based on various programming language's appearances in each of a dozen sources, including Google search, Github, Stackoverflow, Reddit, and others. Programming language popularity rankings are a dime a dozen, but the IEEE's is probably the best one out there—or at least the one casting the widest net.

This year, IEEE Spectrum introduced a tool that allows users to reweight the influences of the survey's different sources, so you tweak its biases however you see fit. By cranking up the influence of Stackoverflow to 100, for example, I was able to kick C back to second place. That said, I don't see anything glaringly wrong with the default IEEE weightings.

The popularity of C shouldn't be surprising in the least. JavaScript and Swift may capture a disproportionate share of buzz, but C is in everything. It is especially present in embedded systems: the many, many tiny computing systems that power everything from the subsystems of our cars to microwaves to the ever-expanding Internet of Things. This is mostly all C (and the next lowest-level step beyond C, which is assembly language).

That said, even if you mute embedded applications in the ranking, C still comes out on top. It's almost unfair to include it at all because it's the substrate of so many other things. It's like concrete winning a contest of building materials.

It would probably have an even higher score if Arduino wasn't counted as a programming language. In my opinion, this is a pretty unfair inclusion given that Arduino is not an actual language so much as it is a C/C++ platform—that is, a set of tools and libraries that simplify writing embedded C code (which can be a real fucking chore once you start flipping/masking individual bits).

Every time I write something about C I get asked by someone whether or not they should be learning it. The answer is that, barring some interest in programming robots or operating systems, "probably not." But I think every coder, whether they're hacking together single-page web apps with JavaScript or Swifting up an iOS game, should at least understand what C is and why it's important.