This section of the survey was shown to those who checked “Hardware” or “Home automation” in response to the question “What types of software do you develop?” in the C and C++ sections, those who checked “Embedded devices / Internet of Things” in response to “What kind of projects do you develop in Rust?” in the Rust section, and, finally, those who checked “Embedded” in response to “What do you use Python for?” in the Python section.

Keep in mind that embedded developers can work on various kinds of projects (embedded and others), and also that some elements of embedded software are not specific to embedded development (for example, microservices).

Embedded

Embedded software development popularity

By language

The languages most strongly associated with embedded development are Assembly, MATLAB, and C. More than 25% of those who use them as primary languages develop embedded software. However, in absolute terms, Python is the leading language among embedded software developers.

Which languages are primary for embedded software developers

This chart includes embedded-specific languages only.

Which C standard do you regularly use?

Which C++ standards do you regularly use?

Embedded software developers typically do not use the latest language standards. Regarding C++, however, it’s interesting to see that the most recent language standards, C++17 and C++20, have a huge share among embedded developers.

Which IDE / editor do you use the most?

Which unit-testing frameworks do you regularly use, if any?

Which project models or build systems do you regularly use?

Which compilers do you regularly use?

Thank you for your time!

We hope you found our report useful. Share this report with your friends and colleagues.

Join JetBrains Tech Insights Lab

Take part in surveys and UX studies to make JetBrains products easier to use yet even more powerful. For participating in our research, you’ll also get the chance to earn rewards.

If you have any questions or suggestions, please contact us at surveys@jetbrains.com.