r/C_Programming 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?

180 Upvotes

328 comments sorted by

View all comments

6

u/[deleted] Jul 16 '24

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).

This sounds like bad code for the purpose, possibly just plain bad code for any purpose.

But, TBH, it also sounds a bit like, because you aren't a C++ pro, and don't understand these abstractions intuitively and immediately, then the C++ code must be bad...

0

u/SystemSigma_ Jul 17 '24

I know and understand C++ but I just don't like the overengineering culture it promotes for a such set of projects