It's fine, I think it's good that Rust is researching how to do a good job with memory safety + resource ownership without being a managed language. I just wish they would be clearer about what they are doing, and over-promise less.
-
-
Replying to @Jonathan_Blow @obiwanus
How are they over-promising? (Honest question, I'd like to know your POV)
1 reply 0 retweets 0 likes -
Replying to @FelixFischer91 @obiwanus
It's just distorted rhetoric. Almost none of the bugs we see are memory safety problems or resource deallocation problems. So the amount by which Rust would reduce our bug load is pretty small. So I don't think it can claim that it addresses correctness.
1 reply 0 retweets 1 like -
There is value in having more confidence that your program is memory-safe, if you are concerned about attackers. (But I also think we should just redesign our operating systems so we are less worried about attackers).
2 replies 0 retweets 1 like -
Replying to @Jonathan_Blow @obiwanus
I think you're underestimating the influence of memory safety. In particular, more than avoiding vulnerabilities, it's avoiding aliasing: every bit has a clear owner. The compiler forces you to do that. And that is incredibly helpful. Lemme try to explain what I meanx
1 reply 0 retweets 0 likes -
Think of a multithreaded system. How do you cooperate between threads? How do you share memory? That is not easy, and more often than not you end up pulling the rug from under some other thread's feet.
1 reply 0 retweets 0 likes -
Rust forces you to not do that: only one thread can examine memory that's being modified at one particular time. This is their restriction on aliasing.
2 replies 0 retweets 0 likes -
Replying to @FelixFischer91 @obiwanus
Right away this limits you to low-performance parallelism, which is another thing I wish people would admit.
1 reply 0 retweets 1 like -
Replying to @Jonathan_Blow @obiwanus
Yes! And no. You have the unsafe keyword to overrule the compiler, and write abstractions that are efficient and safe that you can prove but the compiler cannot. It really is essential for the stdlib, because the rules of the language are over-restrictive.
1 reply 0 retweets 0 likes -
If that's the case, then you can no longer claim that Rust is "correct" or "memory safe". If any user can use "unsafe" and override the restrictions, then you can't assume any module you're calling is correct in any sense. You're left with a slow compiler and incorrect code.
1 reply 0 retweets 0 likes
Sure, but it's a lot better than nothing. I wouldn't harp on them for this, it's a highly pragmatic thing to do, and I think the correct choice.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.