Comment Re:Trust? (Score 1) 68
> Any programming language needs the equivalent of Rust's "unsafe"
Not really, no.
> Without it would be impossible to do any input or output.
Have you ever used any programming languages other than C, C++, etc? The important thing is that the language itself implements an interface between the OS and programs written in that language. In addition to that, most usually have an ABI that can be used to glue assembler libraries to the language - this is not the equivalent of "unsafe", because it's not part of the language, and a person downloading an application can see right away that it includes external libraries that interface with it.
Unsafe is in Rust because... well, Rust is designed to try to make memory safety attractive to devs who traditionally don't like being told what to do or that their favorite language sucks. Which is why, for example, advocates go to great lengths to claim Rust doesn't have garbage collection when, actually, it does, it's just not mark and sweep. Rust is as much about public relations and trying to get people to stop assuming they have to sacrifice safety for efficiency and low level access as it is about producing a useful programming languages.
And, unfortunately, part of that PR is to say "Look, we even have an "unsafe" keyword so you can get rid of (some of) our restrictions on you for those rare times you actually need it", and the group Rust is aimed at, of course, go "Oh, I can do this with a 2% speed up if I use unsafe, so I'm going to do the unsafe version, that's what makes Rust great" *insert Naked Gun facepalming scene here*.
I like Rust. But let's not pretend "unsafe" is a positive thing, or that most languages need it. Rust needs it because of its intended audience, but plenty of languages don't let the code itself be unsafe. Some have an unsafe keyword, some allow linking with unsafe assembler packages, and some... honest... don't have either, and your code is only unsafe if your compiler/interpreter is.