A single bit change in a ascii '0' makes it an ascii '1' and vice vera.
Well, yes, it does. However this could equally happen at runtime after the code's loaded from ((EE)?P)?ROM — are you going to guarantee the absence of the effects of cosmic rays / radiation / jam on your processor? This makes the programming language you've used irrelevant.
The safer way to provide security is to have multiple redundant, different (many people miss this distinction) systems checking each others' results. NASA (IIRC) use three machines to perform the same navigation/guidance tasks — if one disagrees, it's deactivated. They also have a "just land this thing" computer system which can be brought up manually.1.
Have multiple systems, written by different people, presumably in different languages, cross-checking their results. When they have different results, you have a problem — a bit like realtime testing, if you will.
Update: I've now re-read some of the posts further down about validating the correctness of the OS/compiler etc.... I wouldn't use Perl either. I would, however, still advocate different systems cross-checking their results.
In reply to Re^2: Projects where people can die
by davis
in thread Projects where people can die
by cog
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |