Linked by Thom Holwerda on Sun 12th Aug 2012 22:16 UTC
General Development "I cannot help but speculate on how the software on the Curiosity rover has been constructed. We know that most of the code is written in C and that it comprises 2.5 Megalines of code, roughly. One may wonder why it is possible to write such a complex system and have it work. This is the Erlang programmers view."
Permalink for comment 530918
To read all comments associated with this story, please click here.
RE: How
by gpsnoopy on Mon 13th Aug 2012 10:03 UTC in reply to "How"
gpsnoopy
Member since:
2007-04-17

I was reading the JPL C coding guidelines the other week. While I can understand the rationales behind most of them, it did look very unpractical. Like for example the no recursion rule, as some very powerful data structures require recursion to be implemented efficiently (trees anyone?).

Luckily, I got to talk to someone who used to work on static code analysis on NASA code. Two things struck me:

- They don't always follow their own guidelines. As they can lead to worse and buggier code (see the recursion example above).

- These guidelines are written by researchers and paper pusher. The actual coding is done by an entire different group of people. IMHO it shows in the guidelines, as they sound nice in theory but I can see so many problems with them in practice.

While NASA (and similar agencies) are always proud of their strict rules and rugged procedures to produce perfect code and spacecrafts, one has to remember that these are also part PR stunt and that reality is always a lot greyer.

Reply Parent Score: 2