5 ms·
> You will get 98% of the way there. "Kills 98% of viruses" is good enough for hand soap, but it's not good enough for the vital infrastructure that basically
by samhw 5y ago
> You will get 98% of the way there.
"Kills 98% of viruses" is good enough for hand soap, but it's not good enough for the vital infrastructure that basically all software relies on.
Now that we have self-driving cars, rockets, medical devices, etc relying on this infrastructure, I don't think a push towards total provable memory safety is a bad idea.
(Though notice I said "total provable memory safety". If there's a way to get there without a rewrite in Rust, that's preferable a million times over.)
- lionkor 5y agoI hear you. But, to take my example of the GNU coreutils rewrite, even after more than 8 years it only passes 32% of the test cases that the C GNU Coreutils pass. That's not 98%, that's not even 90%. It's hard to rewrite good software. And something like SQLite shows that you can get 100% coverage (as in, every single statement is hit in the tests). That's 100%.
- throwaway47292 5y agoofftopic: sqlite is bad example, for example features like the FTS tokenizer code (https://research.checkpoint.com/2019/select-code_execution-from-using-sqlite/ https://research.checkpoint.com/2019/select-code_execution-f...), which were probably paid by commercial requests or sponsors. That is not to say sqlite does not have 100% coverage, it of course does, but you are building on top of infrastructure which is really really hard to be kept safe. Rust somehow makes it harder to make certain kinds of bugs, which comes at its own cost. PS: I don't like or dislike rust, just I have seen the sqlite example being brought a lot, and a lot of people didn't expect sqlite file to be an attack vector :) so nobody is even looking there.
- lolkillmeplz 5y agoIt is fucking bonkers that you seem to think that test coverage is even remotely in the same ballpark as writing in Rust, and yes it's made even more cringe by the implication that 100% line coverage is a worthwhile test metric. But then again, the concerning part was made obvious with the 98% comment. I'd fucking hate to ask what your opinion on COVID is.
- moltonel3x 5y agoThe coreutils rewrite is essentially a hobby project, which nobody is going to switch to until it can boast 100% compatibility. So of course it's slow coming, it's not a fair comparison. There's also the issue that writing a drop-in replacement is harder and less attractive than making something better (see ripgrep and other coreutils alternatives).
- gpderetta 5y agoRust doesn't kill 100% of the bugs either (remember, memory/thread safety are only a small subset of all the possible bugs). Then again, I don't think that the sanitizers, while great, prevent anywhere close to 98% of the issues either.