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

30%29%27%19%17%16%15%15%15%14%14%14%AssemblyMATLABCC++RustPerlHaskellSwiftShell scripting languagesDelphiF#Python

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.

41%20%14% 9% 4% 3% 1% 1%PythonC++CShell scripting languagesSwiftRustAssemblyMATLAB

Which C standard do you regularly use?

48%44%12%41% 9% 4%C99C11C18Embedded CI'm not sureOther

Which C++ standards do you regularly use?

10%39%32%47%23%11%C++98 / C++03C++11C++14C++17C++20I'm not sure

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?

30%33%13% 0% 3% 8% 3% 1% 1% 0% 1% 1% 1% 4%Visual Studio CodeCLionVisual StudioIntelliJ IDEAVi / VimQtCreatorEclipse CDTSublimeEmacsAtomXcodeNetBeansAndroid StudioOther

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

37%13% 7% 5% 2% 2% 0% 0%13%28% 6%Google TestCatchCppUnitBoost.TestCppUTestdoctestCUnitUnityI write unit tests, but don’t use any frameworksI don’t write unit tests for C/C++Other

Which project models or build systems do you regularly use?

55%49%27%17%12% 7% 6% 1% 0% 0%13% 2%15%MakefilesCMakeVisual Studio projectQmakeNinjaXcode projectAutotoolsSConsMesonGradleCustom build systemOtherNone

Which compilers do you regularly use?

82%43%33%28% 9% 2% 3%GCCClangMSVCCompiler for microcontrollersIntelCustomOther

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.