Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I imagine most C programmers are still using C99 or older anyway, particularly in the embedded space.


I'm not sure this is still true. I'm just a hobbyist but esp-idf, for example, supports C++23.


esp-idf is still on GCC 11, but most of the features of C23 are in GCC 13.


C99 or newer. You gotta have standard fixed size types like int16_t.


Not in the embedded space. When you've worked on embedded systems long enough, you learn that you have to accept the compiler that the vendor provided you with, and you adapt your codebase to the limitations of that compiler. This means working around code generation bugs, adding #ifdefs to define typedefs for things like int16_t if they don't exist.

That said, things are a lot better than they were 15 years ago, and the mainstream ARM compilers used today are leagues better than the barely functional cobbled together ports from the early '00s. ARM64 is a tier 1 platform, and there are enough users of the platform that the extended QA team that embedded developers were unintentionally part of in the past is no longer really the case (at least when it comes to the compiler).

However, there are still truly obscure architectures (mostly 8 bit and 16 bit) that continue to have oddball compilers. And you accept and deal with that insanity because it means you're only paying $0.01 for that microcontroller to blink an LED when some kind of an event occurs.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: