| > new generations never heard of those languages and think C was the very first systems programming language. That's just it. Rust looks enough like C++ to catch on. This was not an accident though I can't say I'm jazzed about it. Rust brings a lot to the table with its type system too. I would rather be using Rust tomorrow than having had the benefits of say Pascal derivatives for the past 45 years. I'm not saying this just for effect: after the obvious ML influence, the parts of Rust I like most are the nuances. > Instead, many Rust users seem to sprinkle it everywhere. Is that true? You will necessarily see it in bindings, or to implement certain essential features that can't be implemented otherwise. Beyond that there is the motivation to use unsafe code for speed, hopefully this is mostly restricted to modules. Are you complaining that people are using when they could reasonably avoid it or that it is too often necessary? |
They are abusing it, specially as workarounds for constraints that cannot be expressed in the type system.
While in the languages I mentioned, unsafe constructs are related any operation that might lead to memory corruption, some Rust devs are using it for anything they assume isn't logical safe.
So you then get talks like the Session Types one at ICFP, that uses unsafe to control functions being called outside the protocol Traits that are being defined.
Which lead to discussions like this one:
https://github.com/rust-lang/rfcs/pull/1236#issuecomment-136...