Good Ol' C Tops the IEEE's 2016 Programming Language Ranking
It's like concrete winning a contest of building materials.
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.
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).