3 ms·
There's a number of pieces: * Writing everything three times for three different computers with three different architectures in three different ways (e.g. num
by 238475235243 7y ago
There's a number of pieces:
* Writing everything three times for three different computers with three different architectures in three different ways (e.g. numerical vs symbolic integration)
* Using obsolete programming languages for the same reasons doctors use latin
* Has to be usable by poorly trained pilots, while tired, on the other side of the planet in complete darkness with half the systems failing.
* Nobody dies if you web/game crashes. The plane has to still be flyable in unimaginably bad conditions like a total engine loss by deploying a windmill (ram air turbine), therefore every scenario is accounted for.
Caveat is we usually find new scenarios by crashing planes, not by thinking about them first. Kind of a definitional thing: if you'd thought of it, it wouldn't have crashed.
- dandare 7y agoWriting everything 3 times: I believe this is not the case for a car or pacemaker. For the Boeing: 5M/3 = 1.3M lines of code. Still makes no sense. Obsolete languages: Old language (or Latin) does not bloat the size of your code astronomically. Usability in specific conditions: does not apply to a car or pacemaker. Yes, for an airplane, it can make the design phase lengthy and difficult but the actual size of the code will not bloat astronomically. From some of the discussions I have seen on HN, writing safety-critical software is not a question of adding millions of lines of code - to the contrary, safe software must be clean and readable.