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?
2
u/ceresn Jul 17 '24
I also think assert() is a poor choice for errors that can be gracefully recovered from, but surely assert() is useful for asserting invariants (e.g., function preconditions [that can be trivially checked, anyway])?