4 ms·
C is not used in the embedded space for 'political' reasons but for the fact that in contrast to C++ you have full control over what your program does and don't
by __bjoernd 8y ago
C is not used in the embedded space for 'political' reasons but for the fact that in contrast to C++ you have full control over what your program does and don't have to worry about when certain functions get magically called and why the size of your two-int struct is suddenly way larger than the 64 bits you expected it to be.
Sure, this is all a matter of 'using it right', but from my experience many developers in the commercial embedded space are not programmers by trade and this learning those intricacies is a real hurdle for them.
- pjmlp 8y agoSure it is for political reasons when even C99 is seen as too modern, and many are unwilling to let go of C89 and Assembly even if the OEM toolchain supports modern C. And for another point of view of someone more relevant than my insignificant self, CppCon 2016: Dan Saks “extern c: Talking to C Programmers about C++” https://www.youtube.com/watch?v=D7Sd8A6_fYU https://www.youtube.com/watch?v=D7Sd8A6_fYU "Embedded Development with Dan Saks" http://cppcast.com/2016/10/dan-saks/ http://cppcast.com/2016/10/dan-saks/ Thankfully there are industry certification standards like AUTOSAR, which now require C++, so those devs can choose to keep grasping to C and switch industry or learn more modern languages.
- namibj 8y agoThat's relevant when you target <1$, >.15$ processors, but they are rather niche.