IEEE Spectrum has published a list of the top programming languages in 2016 for Web, Mobile, Enterprise, and Embedded sectors with rankings created by weighting and combining 12 metrics from 10 sources. So I thought it would be fun to have a look at the top 10 of languages used for embedded software, and the results are:
As expected, C and C++ are at the top, but I’m quite surprised that “Arduino” is now considered a programming language, as it is simply based on C/C++. When I worked as an embedded software engineer a few years ago, I personally used C, and Assembly, and to a lesser extend C++ and VHDL. I only recently started to play with Arduino code, and while I’ve heard of most other languages in the list, it’s the first time I’ve ever seen Ladder Logic, probably because it’s designed to program PLCs in industrial control applications.
The methodology used is interesting, as the company did not survey actual engineers or developers, but instead used data from technical, social and job search websites, such as Github, Twitter, or CareerBuilder, to generate the rankings.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
arduino language is based to “C/C++” but no python in top the classement.
yeah Arduino is NOT a programming language…but a high level API written in C/C++. It’s sad that a magazine as prestigious as the the IEEE Spectrum would make such aa dumb mistake. Surprised that Lua and Python are not on the list
Haskell for embedded? Quite interesting – any references?
@gicho
There’s a small blog dedicated to this: https://haskellembedded.github.io/
Haskell’s position is indeed very surprising to me, but it is a very trendy language in the dev community so maybe it got biased by this review (social) metering methodology.. The presence of “Arduino” may also be an indication of that bias as well, although we do know it’s actually massively used.
But a purely functional language could in fact offer some benefits on very limited platforms.
@halherta
i don’t know some of those languages very well so it’s not clear to me if they included interpreted languages or not ?
@halherta
IEEE Spectrum did not include Python and Lua in the “Embedded” category, only “Web” and “Enterprise”. Overall Python comes in third behind C and Java, and Lua in 22nd position.