> I don't comprehend how you made no mistakes on the journey after drafting the PCBs and writing drivers. From my POV as a software developer, C has so many pitfalls that it is incomprehensible to me that things will Just Work, especially in the context of something that is meant to run for a very long time and not be "restarted."
Process, design and architecture play a larger role in the bugcount than language choice.
I wrote munitions control software in C; many of the systems that would cause loss of human life were written in C for decades.
The recent meme of "if it's written in C it must mean unreliable" is inaccurate - all the most reliable systems, for decades, were written in C.
C is so difficult that you aren’t going to get something that passes a cursory inspection without good process, design and architecture. I strongly suspect that’s why it’s common for C software to be quite reliable.
Process, design and architecture play a larger role in the bugcount than language choice.
I wrote munitions control software in C; many of the systems that would cause loss of human life were written in C for decades.
The recent meme of "if it's written in C it must mean unreliable" is inaccurate - all the most reliable systems, for decades, were written in C.