3 ms·
If we're going to use SpaceX to validate our language choices, then we should be moving back to C for the "mission critical" code. > The certification and corr
by ColanR 6y ago
If we're going to use SpaceX to validate our language choices, then we should be moving back to C for the "mission critical" code.
> The certification and correctness part is made easier by using software verification tools. One such tool is Astrée. It is a static code analyzer that checks for runtime errors and concurrency related bugs in C projects. This also leads us to the answer for why a lot of mission-critical code is written in C. Its because there are a lot of static analyzers and software verification tools for C.
- nickff 6y agoThe Kernels for all major operating systems are written in C; C is also used for the majority of embedded devices which perform the small miracles around you. C is everywhere.
- deleted 6y ago[deleted]
- blub 6y agoYes, but those kernels aren't developed according to any functional safety standards, so they're the typical jumble of vulnerabilities. It depends if that's the case for the embedded devices.
- mbrock 6y agoAre they wrong?
- trasz 6y agoThere are also software verification tools that use binaries instead. That's how seL4 gets verified. This way you're safe from compiler bugs.
- 59nadir 6y agoC is already the undisputed king of running everything and on everything, no one who writes C needs to seek validation like this.
- blub 6y agoWell, C actually does have very good verification tools, so if they are used it could be a reasonable choice. The problem is that commercial SW development is incompatible with the use of such tools or the associated safety-critical processes. The extra time, process, competences would make a company much slower than the typical bullshit move fast and break things start-up.