*sshole, or when are we going to get rid of C?
Posted by hasheddan 4 hours ago
Comments
Comment by PeterWhittaker 2 hours ago
Sure, Rust's std::result can make it harder to dumb, but dumb can always find a way.
Comment by sunshowers 1 hour ago
> You can very well write a Rust function that returns "*" if the password is too long. But the big difference between C and Rust in this regard is that the norms of the Rust community do not allow that.
Comment by xscott 14 minutes ago
Comment by zeroCalories 4 hours ago
Comment by varispeed 4 hours ago
It's like blaming poor driving on one's tracksuit.
Comment by anotherhue 2 hours ago
I love K&R as much as the next guy but special magic ASCII chars multiply defined by convention over 40 years is exactly the sort of rubbish a good type system can protect against (if used).
Comment by goalieca 3 hours ago
Comment by sunshowers 4 hours ago
Comment by varispeed 3 hours ago
Comment by viraptor 1 hour ago
Consider how much easier it is in rust to do tagged unions that won't have the same pitfalls as C's, how much more likely you are to use a rust map from std rather than custom / imported dependency to do that in C, how much more likely you are to do real Unicode processing in rust vs treating strings as opaque bytes and hoping for the best in C. These are things that happen all the time. We can improve design and engineering a lot by simply providing an easy way to get it implemented.
The first time you need a string map in an existing C code, it's often "an event". Do you spend time rolling your own? Do you include a library? How big - are you pulling the whole glib? Do the strings need fancy locale aware comparison? Do you simplify, take a performance hit, and just scan an array instead?
A lot of the time when there's a logic bug and people comment "that's not a memory safety issue, Rust wouldn't protect from it", it's true, but I also think: "but this issue wouldn't exist because enum/type matching would stop it".
Comment by card_zero 2 hours ago
Comment by sunshowers 2 hours ago
Comment by card_zero 11 minutes ago
Comment by notthemessiah 1 hour ago
"It's a shame, but what can we do? There really isn't anything we can do to prevent memory safety vulnerabilities from happening if the programmer doesn't want to write their code in a robust manner"
Comment by whatthejesus 3 hours ago
It’s called pay attention and f*king upgrade your packages.