It makes little sense to compare the pc world with the microcontroller world. I find it difficult to find my way around the Linux kernel- therefore I should not use C? Micropython seems to be doing C++ in C and I can't read that either, therefore I should not be using C or anything that resembles C++? Firefox is bloated, therefore I should not use C++ on a SAM10D? Microsoft produces some crappy tool (or tools), so I should stay away from C++? There should be no requirement that I have to be able to read everyone else's code, or be able to produce the same thing, before I can use a particular language.
here is a simple example of c++ in a small micro-
https://github.com/cv007/Samd10XplainedMini/blob/master/main2.cppnothing special, its just me, a compiler, a datasheet, a startup file, a linker script, and everything but the startup file in c++
I'm not familiar with a sam10d, just checking it out, I have no debugger either but only ended up with an exception once (alignment error, which I knew was probably coming so didn't have to struggle with it)
this simple example compiles to about 2.5k, so is not a bloated mess
the simple delay class means I can create as many delays as I want, wherever I want, blocking or non-blocking
the morse class means I can push out any number of messages on any pin, all at different rates if wanted
and everything becomes simple, easy to organize, easy to reason about, and ultimately more reliable
I don't know what this simple example would end up looking like in C, but I'm quite sure I would take the C++ version any day of the week