C++ is fiiiiine. Just use the modern variant of the language, don't bother with hand-optimizing your memory allocators, and generally avoid anything involving pointer arithmetics.
So, basically, use it like you would use Python.
This is a very "yes but still no" thing in my experience. Typically, I find that if I write "naive" C++ code, where I make no effort to optimise anything, I'll outperform python code that I've spent time optimising by a factor of 10-30 (given that the code is reasonably complex, this obviously isn't true for a simple matrix-multiplication where you can use numpy). If I spend some time on optimisation, I'll typically be outperforming python by a factor of 50+.
In the end, I've found it's mostly about what kind of data structures you're working with, and how you're passing them around. If you're primarily working with arrays of some sort and doing simple math with them, using some numpy and scipy magic can get you speeds that will beat naive C++ code. On the other hand, when you have custom data structures that you want to avoid unnecessarily copying, just rewriting the exact same code in C++ and passing things by reference can give you massive speedups.
When I choose C++ over python, it's not only because of speed. It's also because I want a more explicitly typed language (which is easier to maintain), overloaded functions, and to actually know the memory layout of what I'm working with to some degree.
My favorite project was C++; it was big, it was complicated, there was a massive team working on it, I got to work with high level abstractions while occasionally dealing with really low level concerns.
It was really hard, but now writing code in every other language I've worked in has been really easy.
You know, in that case, the blame doesn't fall on the guy that made it. Shit on the people that made the development deadline a couple weeks, and then decided to keep the product in place for decades.
I look out acroth the thea, and thee what I can thee. I can't pronounth that thtupid language; I'll write in lithp.
Ocean + traversing a desert => Ocaml?
I improved the C! It is greater! More potent! But what is this? I look at at my poor boat, upon which I traverse the waves of the C++ 7; now it is degraded. Now its beautiful metal hull has oxidised. Oh, the dangers of the C. ...Wait, that gives me an idea...
Hey assembly is good in the sense you are only dealing with one language but in embedded C you get bad parts of both C and assembly. You have to follow weird C99 or even C89 syntax and on top of that for each micro controllers you have to sift through several hundred pages of data sheet. Each one needing separate registers to be setup in a particular way for every single operation and so much more stupid ass shit.