[0] https://hn.algolia.com/?query=They%20Write%20the%20Right%20S...
That's cool and all, but your compiler probably has far lower error rates, definitely has much higher repeatability, runs in seconds instead of... years, and doesn't cost tens of millions of dollars per year.
The idea that we should be imitating them is laughable. Automated compilers were light years ahead even at the time.
Maybe one day we'll see an article about the high-level code was designed. Probably not though.
[1] '"Our requirements are almost pseudo-code," says William R. Pruett, who manages the software project for NASA. "They say, you must do exactly this, do it exactly this way, given this condition and this circumstance."' - they may use words like 'specification' and 'requirements', but generally those terms are indicate documents that tell you what to do, not what to do and how to do it.
Could you, though? It's not that they write trivial code just because they have clear specs.
And a simple mistake can make you explode while in space.
Sure, we might have to deal with unclear specs and changing requirements, but even given that most of what we do is 1/1000 to 1/10 the complexity of what NASA programmers do.
Facts are all right, but tone and ideas in this article are horrible.
I've never felt that this article is condescending; in fact, I'd go so far as to say it is, at its heart, aspirational. Look at how great we can be.
- Requirements Reviews with Customer, Requirements Analysts, and Testers all sitting around the same table going over them word by word. (e.g. 12 people to review changing an interface by one parameter so that a new value can be displayed in the cockpit.)
- Code reviews with 8 people around the table going over the changes line by line.
- Independent organizations performing unit tests and system tests on the software. Again, with 10 people around the table going over your test results line by line, plot by plot.
In an engineering culture, a person goes to university for five years and gets out, takes a rigorous test and then works as an Engineer in Training for several years. After a few years of formally structured work experience, the person takes another rigorous test and if and only if the person passes that test they actually are allowed to become an engineer. Maybe a decade after that, they'll have a plausible claim to being a senior engineer.
NASA isn't a typical engineering culture. A lot of engineers have masters and doctorate's on top of normal bachelor's level knowledge.