Comment by awesome_dude
10 hours ago
People massively overestimate Rust's "safety" - it has a very nice approach to managing data races, and. that's it.
It still, like every other language/tool we have that shares state between threads, has race conditions, for example.
Borrow checker aside, I would like to think that its type system inherently makes it safer than a language like C.
Even Modula-2 (1978) type system is safer than C.
You can write bad unsafe code in any language. Rust has a convenient keyword for that. C++ has types.
unsafe rust is still typed orders of magnitude better than C
That is a confidently incorrect assertion.
They said race conditions and specifically exempted data races. You can absolutely write race conditions in rust, they're a logic bug.
As an example, let's say you have two functions A and B. A only works properly if B has never ran for some reason. Let's say they both accept a reference to a value C, and B changes C's value somehow. Because this is rust, we can't have data races, so we wrap it in an ArcMutex or what have you. That doesn't impact the ordering of A and B at all.
If we spawn threads that execute A and B at the same time, it's up to the scheduler if A functions properly.
You are being downvoted but you are absolutely correct. I have never seen someone assert Rust is a 100% safe. Its touted purely as a _memory_ safe language. To claim otherwise is absurd and very telling of the writer's biases
> I have never seen someone assert Rust is a 100% safe
Maybe I spend too much time on tech internet...
> I have never seen someone assert Rust is a 100% safe
Please copy and paste from my post where that's being asserted
> Its touted purely as a _memory_ safe language
Which is different from what was said... how?
> To claim otherwise is absurd and very telling of the writer's biases
To pretend that those claims were made is what's actually telling of biases.
1 reply →