> better than assembly, or machine code,
I was studying assembly in the second year. What is the problem? It was really easy because in my early years I was writing 64k demos.
> or learning the basics of transistors, capacitors, signals etc.
It's the simplest part of all computer architecture. I think I can explain what is D flip-flop/transistors in one hour.
> Why does C++ have the "right amount" of abstraction, when it sweeps under the rug a vast body of physics and EE?
C++ has OOP, has a smart and raw pointers, STL(not the best, but better than C). Right now I'm working on a project where I need process more than 50Gb in 10 minutes. Python script uses 110Gb of RAM because there are no pointers. I don't know why the previous developer chose Python for this tool.