top | item 41215155

(no title)

mtizim | 1 year ago

Not at all, pretty much all popular languages (except C/C++) are as safe as (safe) rust. The only safety rust brings to the table is memory safety, which most languages achieve with a runtime and a garbage collector, which have a performance tradeoff.

discuss

order

wongarsu|1 year ago

In three most narrow definition of safety I agree. But that's a very narrow definition. Rust does offer a lot more:

- no undefined behavior

- many classes of concurrency bugs prevented by the type system

- standard library and much of the ecosystem makes invalid states unrepresentable. E.g. a String is always valid UTF8

Those are things that are true to varying degrees for other languages. Dart does pretty well imho. But for example Java and C# offer memory safety but have very unsafe concurrency

pjmlp|1 year ago

Rust's concurrency is only safe in the very specific use case of threads trying to access common resources on the same memory space.

It does nothing to prevent data races between processes, or concurrency errors between threads accessing resources that are external to the process.

Scenarios quite relevant in distributed systems.

CryZe|1 year ago

You definitely also get a lot more thread safety out of Rust than most languages.