Python, C and C++ dominate The most widely Used embedded Programming languages in 2021
For the seventh time in a row, IEEE Spectrum has presented its ranking of the most widely used programming languages in embedded applications. Which programming languages dominate in the embedded area? Which ones have gained in importance, which ones have lost?
Python dominates in applications – not only in the web or mobile sector: According to IEEE Spectrum, Python is also the clear top dog among programming languages in the embedded environment.
If there is one certainty for embedded developers in 2021, it is this: there is no way around Python anymore. For years, the multiparadigmatic programming language has been the undisputed leader when the IEEE Spectrum journal looks at the most frequently used programming languages worldwide.
Whether for embedded, web or desktop applications, the journal of the Institute of Electrical and Electronics Engineers (IEEE) was able to prove the richest range of existing libraries, repositories or application examples for the programming language in almost all areas. This applies not only to simple web scripts, but also to deeper embedded projects or even large-scale AI projects.
The complete ranking of the programming languages classified as relevant for the embedded sector by the IEEE. By far the biggest winner is 2021 C#. As in previous years, the relatively young Rust was also able to continue to grow.
“Learn Python”, the IEEE announced the latest ranking of programming languages. “This is the most important insight we can give you from the continued dominance of Python in the IEEE Spectrum annual interactive ranking of the best programming languages.” It also helps that Python as a programming language is not only relatively lightweight in its footprint, but also easy to use. “To be honest, depending on the scope, complexity and/or quality of the documentation, learning a library can be much more difficult than learning Python itself,” the IEEE speculates on the popularity of the programming language.
Year after year, IEEE Spectrum, the journal of the Institute of Electrical and Electronics Engineers (IEEE), compiles a total of 300 different programming languages from publicly accessible Github repositories in order to get an idea of how widespread they actually are in practical application. For the ranking in 2021, these were narrowed down in a ranking to the 55 that – among other things in Google searches – have the highest level of awareness. These are then listed in a ranking that can be filtered depending on the application area – web, desktop/enterprise, mobile and embedded.
Especially for the embedded sector, at least 17 of these 55 programming languages were still to be found. Based on a total of 11 metrics, including data evaluations from Twitter, GitHub and Stack Overflow, an overall score was then collected. The most frequently encountered programming language is given a value of 100, while the rest has a relative rating related to it.
One thing should always be borne in mind with such rankings: These surveys are not about what the objectively ‘best’ programming language is. Only the degree of dissemination of established developer languages is examined.
Python and C variants set the tone
The leaders have not changed compared to the previous year. As in the previous two years, Python is the clear, dominant sound source, also in the embedded spectrum. Places 2 and 3 are followed by C and C++ unchanged.
However, it is noticeable that the latter programming language has gained in importance in embedded applications from a relative point of view: while C has remained almost unchanged in relation to Python in the current year with 94.7 points (in 2020 it was 94.6), C++ has increased by 5.4 points and is now only slightly behind its big brother C with 92.4 points (in 2020 C++ still had a relative share of 87.0).
The third direct C offshoot in the alliance was able to celebrate a somewhat surprising comeback with C#. in 2019, the programming language was still in fourth place with 74.5 relative points, but apparently had drastically lost popularity in 2020 and had slipped to seventh place. Now C# is again in 4th place in the IEEE Spectrum Embedded Ranking: for the embedded market, the journal raises the share of the C derivative introduced by Microsoft more than 20 years ago to 82.4.
Rust on the rise, assembler stable
By advancing C#, the Arduino’s own programming language is displaced from the fourth to the 5th rank. Arduino continues to be popular, especially among hobby applications, and has a decent code and repository base. Nevertheless, the language has lost its share in relative terms and only reaches 68.4 points compared to Python (in 2020 it was still 73.2).
One of the winners is the relatively young Rust programming language: year after year, it is gaining a larger share of the worldwide embedded code base, so that the multi-paradigmatic language, which has only been released in a stable version since 2015, has increased by a good 9 points compared to the previous year (from 55.6 to 63.1) and is now in 6th place. The Rust Foundation, which was founded at the beginning of the year to promote the programming language, has certainly played a large part in this, and well-known supporters such as ARM, Amazon aws, Google, Microsoft, Facebook or Toyota now belong to it.
The comeback of C# and the popularity boost of Rust have caused assembly languages to slip from 5th to 7th place in the ranking. However, these particularly hardware-related programming methods continue to have a high priority in embedded applications, which can be seen in the relative share: ‘In direct comparison to the previous year, they have lost only by 0.9 points in terms of the global share (from 63.7 to 62.8). This can also be attributed to a high proportion of legacy applications that continue to rely on a certain assembly code base.
The 8th and 10th places are occupied by the hardware description languages Verilog and VHDL, which, however, have once again increased in popularity compared to the previous year. In between, in 9th place, there is the relatively largest winner of the ranking after C# and Rust. The Ada programming language was able to increase from 32.8 to 38.8 points compared to 2020.
These embedded programming languages are considered insignificant
Unlike last year, there were no unexpected new entries in the ranking of embedded programming languages in 2021. According to IEEE Spectrum Ladderlogic, the bottom of the list is that it has lost 5 points compared to the previous year and, relatively speaking, occupies 14.3 points in the ranking.
On the penultimate place is the already aging programming language Forth, which was allowed to return the 5 points won from 2019 to 2020 and is now at 18.2 points. Erlang, which finished last year in the bottom spot, is unchanged at 18.3 points in 2021, which raises the programming language from 17th to 15th place in the relatively seen popularity. However, compared to other languages in the field, this is a relatively insignificant proportion.
Top 5 remains unchanged in general
However, C# is also enjoying new popularity in the general field of application, as it seems. If C# was no longer among the general top 20 in 2020, the programming language is now again in 6th place in the IEEE ranking. It could be that IEEE Spectrum may have had a blind spot in the previous year: Other rankings such as the Tiobe index had seen C# in 5th place of all programming languages in the previous year, as in 2021, by the way. Meanwhile, however, the Tiobe ranking also believes that there seems to be no way around Python anymore.
* This post is originally from our partner portal Embedded-Software-Engineering.de.