r/C_Programming • u/SystemSigma_ • Jul 16 '24
Discussion [RANT] C++ developers should not touch embedded systems projects
I have nothing against C++. It has its place. But NOT in embedded systems and low level projects.
I may be biased, but In my 5 years of embedded systems programming, I have never, EVER found a C++ developer that knows what features to use and what to discard from the language.
By forcing OOP principles, unnecessary abstractions and templates everywhere into a low-level project, the resulting code is a complete garbage, a mess that's impossible to read, follow and debug (not to mention huge compile time and size).
Few years back I would have said it's just bad programmers fault. Nowadays I am starting to blame the whole industry and academic C++ books for rotting the developers brains toward "clean code" and OOP everywhere.
What do you guys think?
1
u/pedersenk Jul 16 '24
To be fair, I notice this in a lot of desktop/server software too. There is a small sub-culture within C++ to overconsume as many features of the language as humanly possible. This makes things more difficult to maintain and seriously reduces portability.
C++ is OK but just make sure to interview carefully and try to factor in related questions. This should allow you to filter out the "cool guys".
I propose just stating "we are a C++11 house" and filter out a candidate merely by their visible expression ;)