I am just curious why drivers and firmwares almost always are written in C or Assembly, and not C++?
I have heard that there is a technical reason for this.
Windows drivers are written in C++. Linux drivers are written in c because the kernel is written in c.