News

Assembly Language Gains in Popularity

Programming in assembly language -- getting down to the direct manipulation of bytes and even bits -- is gaining in popularity, according the latest ranking by TIOBE, apparently spurred by the Internet of Things (IoT).

The TIOBE Index for July 2016 reports that assembly has cracked its list of the top 10 most popular programming languages, after an absence of undetermined length.

While not referencing the IoT by name, TIOBE indicated the growth of billions of small-footprint connected devices around the globe is the probable cause of the increased popularity.

"Why would anyone write code at such a low level, being far less productive if compared to using any other programming language and being vulnerable to all kinds of programming mistakes?" TIOBE said in a recent post. "The only reasonable explanation for this is that the number of very small devices that are only able to run assembly code is increasing. Even your tooth brush or coffee machine are running assembly code nowadays."

One other possible explanation, TIOBE said, is performance. While C and C++ are often cited for their close-to-the-metal functionality that enables developers to eke out every last bit of speed, assembly takes that to a whole new level, literally.

An Example of Assembly Code
[Click on image for larger view.] An Example of Assembly Code (source: Wikipedia)

Assembly, or asm, features "a very strong (generally one-to-one) correspondence between the language and the architecture's machine code instructions," according to Wikipedia. "Today assembly language is still used for direct hardware manipulation, access to specialized processor instructions, or to address critical performance issues. Typical uses are device drivers, low-level embedded systems, and real-time systems."

Those "critical performance issues" are another possible driver of assembly's ascendance, TIOBE said. "If performance is key, nobody can beat assembly code," it said in the July ranking post.

Along with the TIOBE index, the re-emergence of assembly has been noted elsewhere, such as a Hacker News post just published 10 days ago.

"It's kind of weird, my day job is writing high-level code in a Clojure Web app, but I'm drawn to low-level languages, e.g. I like writing C code in my free time," reads the post from "sdegutis." "Lately I've been really interested in learning assembly. (And from the posts on HN lately, it seems I'm not the only one.)"

Assembly was also in the news recently when the "Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules" -- written in assembly -- was posted to GitHub.

While assembly cracked the top 10, Objective-C fell out, as it continues to be supplanted by Swift as Apple's official go-to programming language for iOS apps.

Other index movements of note include big jumps for Tcl, CFML (ColdFusion) and Maple, though they remained far down the list. Here's the latest top 10 graphic from TIOBE:

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

About the Author

David Ramel is an editor and writer for Converge360.