05-15-2025 09:11 AM
Why does NASA still use 50-year-old code?
Imagine this: you are about to send a rocket into space, having spent billions of dollars and decades of preparation. You have all the power of modern science, cutting-edge technology, quantum ideas and… code written back when humanity first set foot on the moon. Why? Paradoxically, NASA is still using code from the 60s and 70s, and there are very good reasons for this.
1. Reliability First
When Apollo 11 was heading to the moon in 1969, its navigation was managed by the Apollo Guidance Computer (AGC) - a machine with 64 KB of memory and a frequency of about 1 MHz. This is thousands of times weaker than any smartphone. But this code, hand-written by engineers, including the legendary Margaret Hamilton, worked flawlessly. Moreover, it was its fault tolerance and priority processing system that helped avoid a catastrophe during the moon landing when the system overloaded. AGC simply ignored non-essential processes and continued performing key tasks. NASA realized: stable code is better than new code. Always. Especially where there is no second try.
2. You can’t update in space
Earthly applications can be “finished in production”. But what about a satellite in orbit? Or a rover on Mars? You can update the firmware, but with great risk. A new line of code can lead to unexpected errors. Any update, even the simplest one, undergoes a multi-stage check, which can take months. That’s why NASA prefers to use code that has been tested for decades.
3. Old hardware is more reliable in extreme conditions
Modern chips are more productive, but they are also more vulnerable to radiation. Even a cosmic ray, hitting a microcircuit, can cause a failure. Old microprocessors, like the RAD750, are built using a large process technology, they have a lower transistor density, which means higher survivability. That's why many space missions fly with technologies from the 90s and earlier. For example, the Curiosity rover, which landed on Mars in 2012, runs on a processor similar to the one in the 1997 Apple PowerMac G3.
4. Old code base is a standard
NASA works according to strict standards, and a significant part of the missions are based on already certified architecture and code. It is often easier to adapt an old solution to new tasks than to write everything from scratch and go through the entire cycle of testing, certification and modeling again.
Conclusion
Programming at NASA is about trust, accuracy, rigor and engineering discipline. If the code works, don't touch it. Literally: better old but proven code than new but potentially dangerous. So the next time someone says, “Hey, that code is 30 years old, it’s time to rewrite it,” maybe you should say, “If it works, leave it alone. It might be cosmic.”