|
|
|
|
|
by deepfriedtech
3739 days ago
|
|
C is a systems language from the ground up with decades of successful use and knowledge behind it. Rust is the new kid on the block with everything to prove. C is the best tool for the job. I think Theo de Raadt and his devs know exactly what they are doing. With only two holes in the default install in over a decade, why fix what isn't broken? I'm one of these guys that still clings to old tech because it works. If C works, use it. Rust is too new, too unproven. C has proven its worth with billions of lines of code, something Rust will likely never achieve as a niche language. |
|
It was actually an extension of BCPL, which wasn't designed: just what parts of a good language compiled on 1960's hardware. Proof below.
http://pastebin.com/UAQaWuWG
"with decades of successful use"
It actually had decades of failures with all sorts of bugs and hacks that safer, system languages dodged by design. Only the best coders got successful and secure use out of it. We praise OpenBSD quality for a reason: it's not easy.
"Rust is the new kid on the block with everything to prove. "
This is true. I have a rule against using anything new for security-critical coding if its in the TCB. Takes time to discover all the issues in things.
"With only two holes in the default install in over a decade"
Propaganda I've called out plenty. On the other systems, people finding bugs often weaponize them, declare a vulnerbaility, and add that to the count. OpenBSD treats bugs as just bugs then fixes them while assuming their mitigations stopped any attack attempts. It's easy to say you only had 2 vulnerabilities when you're not counting vulnerabilities. ;)
"C has proven its worth with billions of lines of code, something Rust will likely never achieve as a niche language."
It does have proven worth. After billions of lines, you can be sure you'll be fixing all sorts of things and doing breach notifications if you rely on it. Unless you pay extra money for top coders. Rust already beat it on app-level safety w/ effects of low-level interactions and compiler risk being next to assess or address. Ada and SPARK beat both for systematic safety with many empirical results from case studies and field use. Safe versions of C like Cyclone and Popcorn outdid C, too, in security but nobody invested more in them. TAL and CoqASM are even doing safety/security at assembler level.
And so we have a language proven worthless for quality or security the mainstay of quality or security focused UNIXen even with decades of alternatives empirically shown to be better. Sounds like a cultural thing to me. Drawback too.
Only advantages: lots of people know it and lots of existing code/tooling. Valid reasons to choose it for existing BSD code but allows it was inferior on other angles. And that rewrites to safer languages for it or new projects should be ongoing.