3 ms·
I think the issue with Rust and unsafe is that people can't really handle and don't really want ambiguous shades of grey. Rust is harder to use than C or even C
by thu2111 7y ago
I think the issue with Rust and unsafe is that people can't really handle and don't really want ambiguous shades of grey. Rust is harder to use than C or even C++, let's put that out there at the start. It expects a high degree of developer effort and skill, in return it gives memory safety without a garbage collector.
But if the Rust ecosystem has developed in such a way that most popular libraries don't actually give you guaranteed memory safety, then this quid-pro-quo breaks down. Now you're making a lot of effort to use the language and in return you get ... maybe sorta safety, some of the time? That's a rather difficult tradeoff to weigh up. How unsafe is the Rust ecosystem, really? As a Rust outsider I had thought it was used only very rarely and mostly in the standard library, by way of analogy to the Java ecosystem where that's the case. From this situation it sounds like it's widely used, and often for unclear reasons. So does using really Rust deliver the advertised benefits?
The fact this question even has to be asked is going to upset the Rust community because Rust is like most non-JVM languages, it has very poor interop with other codebases which makes it reliant on building a large community to be sustainable. The Rust community has to make Rust as attractive as possible for its own competitive survival. High profile libraries that undermine Rust's only value proposition is therefore a self-destructive trend. Actix Web gets great TechEmpower benchmarks, but at the cost of undermining that whole community's marketing pitch. Not surprisingly things get heated.
As for Reddit, I don't think that's the problem. Reddit is just threaded discussions with a large userbase. There are plenty of languages with active reddits and way less drama than Rust seems to have. Java, Kotlin, C++, Swift etc all have big subreddits and all have had zero community dramas that I remember in recent years. The issue is pretty clearly something related to Rust and its userbase. My guess is it's a combination of small size, lack of interop and the Mozilla leadership setting bad examples. There was a huge Rust drama a few years ago where they went ballistic and censored an entire discussion from Reddit because they appointed as their community manager a feminist ("kill all men" being one of her slogans) who had just finished creating a massive idpol drama in the NodeJS community, and not surprisingly the community didn't like it. That sort of immature move is something you don't see from more professionally managed languages.