Re: I'm not an electrician
For Curiosity, we read beyond the paywall:
The control software onboard the spacecraft consists of about 3 MLOC. Most of this code is written in C, with a small portion (mostly for surface navigation) in C++. The code executes on a radiation hardened CPU. The CPU is a version of an IBM PowerPC 750, called RAD750, which is designed for use in space. It has 4 Gbytes of flash memory, 128 Mbytes of RAM, and runs at a clock-speed of 133 MHz. About 75 percent of the code is autogenerated from other formalisms, such as state-machine descriptions and XML files. The remainder was handwritten specifically for this mission, in many cases building on heritage code from earlier Mars missions.
....Second, we introduced a flight software developer certification course, focused in part on software risk and defensive coding techniques. Every software developer is required to complete this course and pass the exams before they can touch flight software. The course covers the coding standard’s rationale, as well as general background on computer science principles and the basic structure of spacecraft control software. Some of this material is also presented to more senior managers at JPL to secure a common knowledge base regarding the challenges of mission-critical software development (although in the latter case, the material is presented without the pressure of an exam at the end).
Excellent! Glorious Freedom from the web craze.