5 ms·
The Rover is not connected to the internet. Do you know what subset of C NASA limits itself to? Or hw architecture? The rigour of their testing? Should all C d
by barongrounds 6y ago
The Rover is not connected to the internet.
Do you know what subset of C NASA limits itself to? Or hw architecture? The rigour of their testing? Should all C developers follow the same restrictions as NASA?
- peterburkimsher 6y agoThe rover was built by NASA JPL, and they have their own coding standard based on MISRA 2004. https://andrewbanks.com/wp-content/uploads/2019/07/JPL_Coding_Standard_C.pdf https://andrewbanks.com/wp-content/uploads/2019/07/JPL_Codin... https://nodis3.gsfc.nasa.gov/displayAll.cfm?Internal_ID=N_PR_7150_002A_&page_name=all https://nodis3.gsfc.nasa.gov/displayAll.cfm?Internal_ID=N_PR... Hardware (according to Wikipedia) is a BAE Systems RAD750 radiation-hardened single board computer based on a ruggedized PowerPC G3 microprocessor (PowerPC 750). The computer contains 128 megabytes of volatile DRAM, and runs at 133 MHz. https://en.wikipedia.org/wiki/Perseverance_(rover) https://en.wikipedia.org/wiki/Perseverance_(rover) Testing sounds pretty rigorous, at least for large projects. https://www.quora.com/What-does-a-software-engineer-do-at-the-NASA-JPL https://www.quora.com/What-does-a-software-engineer-do-at-th... Personally I firmly believe that "all C developers" do not need to follow these regulations. It might even be counter-productive to slow down the development process for some clients. For safety-critical systems, these rules make sense. For little startups, they don't. Developers are smart enough to learn these rules, so HR shouldn't ask for "5 years MISRA experience". It's really a choice of business model, time to market, and risk management. If you're a big company looking to cut costs, be careful about outsourcing firmware development to a little startup who might not follow these rules so strictly. I won't follow these rules for the stuff I throw together in my free time and put on Github, but I will be careful before committing code to master for medical device firmware.
- jimbob45 6y agoHis point is moot anyway. They could have written the entire code base in Rust and compiled it down to C for all we know.
- taharvey 6y agoC is already a subset. It's basically one step above assembly.