Assembly language is a very low-level programming language for niche platforms such as bootloaders, device drivers, and embedded devices. In the minds of many, it’s the sort of language that computer-science students will cover in the course of their classwork, and never use in their actual jobs. But as demonstrated by the TIOBE Index for July, Assembly language has enjoyed a steady rise in the rankings of the most popular programming languages.
Assembly language now stands in tenth place, ahead of even programming stalwarts such as Ruby, Visual Basic, Swift, and R. It is also well ahead of highly specialized languages such as MATLAB and Groovy. (TIOBE uses programming-related traffic from search engines and Websites such as Wikipedia and YouTube to generate its rankings.)
“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?” read TIOBE’s note accompanying the rankings. “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 toothbrushes and coffee machines “are running assembly code these days,” the note added. “Another reason for adoption is performance. If performance is key, nobody can beat [assembly language].” Assembly language is notable for its one-to-one alignment between the language and the machine-code instructions (ISAs) for particular computer architecture; this is a world of difference from other programming languages that can operate across multiple kinds of architectures.
It’s difficult for a human to get closer to the heart of the machine than via assembly language. For that reason alone, it’s a worthy subject of study for anyone interested in how CPUs and programming actually work. For working programmers, it’s also clear that assembly language represents an efficient way to build new products, especially as more and more household objects end up with processors onboard.