Originally Posted by
cyberfish
For MCUs, I would stick with C.
Some MCU development environments have some support for C++, but almost none supports the standard library, which is arguably 80% of what C++ is all about, and what makes C++ "nice".
None of the standard containers will work (including std::string), for example, since MCUs don't typically have a heap to begin with (heap management doesn't make sense when you have <1KB RAM).
With that kind of resources constraint, you don't really want C++ overheads anyways.
I've never seen anyone doing OOP on MCUs. OOP is designed to make large programs easier to design/maintain, but has limited use when you just want to blink a few LEDs.
This is all assuming you are talking about 8-bit/16-bit MCUs. If you are talking about bigger 32-bit MCUs like those ARM based ones... I've never actually programmed one, but people have run Linux on them, so I'm assuming they are more similar to PCs in terms of typical program complexity.