why on earth is Bitcoin written in C++? I thought C would have been the first and better choice.
Hard lol at "better" and "worse" programming languages. Presumably all code for all devices would be "better" if it was written in machine code?

That goes without saying. However, I would think a program as large as Bitcoin would be pretty hard to exclusively code in assembly. Add to that, the number of programmers that code in assembly is also quite small.