Assembly language, a reliable staple of low-level programming, has taken a backseat to the multitude of higher-level, easier-to-use languages that have emerged over the years. But it is making a comeback, thanks to IoT (the internet of things) and embedded computing.
This month's Tiobe index, which gauges language popularity based on a formula examining internet searches, has assembly returning to its top 10 for the second time this year, with a 10th-place slotting. It also reached the top 10 in January.
IoT and its attendant proliferation of small devices is driving usage, Tiobe surmises. "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?" asks a report accompanying the index. "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 toothbrush or coffee machine are running assembly code nowadays." Assembly also offers unmatched performance, Tiobe said.
But Paul Jansen, Tiobe managing director and publisher of the index, said assembly's high ranking will be short-lived. "I doubt that assembly will survive in the top 10. Maybe for a couple of months because there are no new hot languages approaching the top 10. Ruby will be back eventually in the top 10, whereas R and Matlab are candidates for the top 10 too." Ruby ranked 11th this month in Tiobe's index.
In the rival PyPL index of language popularity, assembly doesn't even crack the top 18. While Tiobe's formula assesses searches in multiple search engines, PyPL only analyzes language tutorials searched on in Google.
Another language popular in embedded computing, C, has taken a nosedive in Tiobe's index but remains vital. While still the second-most-popular language in the index behind only Java, its share has dropped nearly 4 points when compared to July 2015. C's rating was 12.238 percent this month, while Java's was 19.804 percent. "C was once the big programming language," said Jansen. "It is very gradually fading out especially because it is missing essential features such as garbage collection, exception handling, functional programming techniques, and logical imports."