Originally posted by ssokolow
View Post
If you read between the lines of this comment and also this comment, I think it's fair to assume that Rust will not have any ABI stability for a very long time, if ever. If you don't understand why that's a showstopper for many use cases then you're probably out of your depth.
80% of software can afford to pay the overheads of garbage collection, in exchange for a vastly simpler and safer programming experience. The remaining 20% is typically low-level, performance-sensitive stuff. Rust's sweet spot and main niche should lie in that 20% (since despite being "safe", it's most definitely not simple) -- but not having any ABI stability completely and utterly gimps it for most of those use cases.
It's competing with language where ABI stability is absolutely rock solid and the best they can come up with is "maybe we'll define an ABI in a few years -- but probably not". It's fair enough if that suits their own use cases, but lets not delude ourselves into thinking it's even remotely as general purpose as C.
Also:
- It produces comically bloated binaries.
- All standard library functions panic on allocation failure (!!).
- The rustc command-line interface is considered "unstable" and can change at any time, so the only reliable build system is Cargo (which you're basically forced to use).
- The compiler is SLOW. Like, even slower than heavily templated C++.
- The Node.js-style "micro-dependency" mindset that pervades the ecosystem is wrong and braindead.
- Did I mention that THERE'S NO ABI STABILITY WHATSOEVER?
- It's been demonstrated that developers will use "unsafe" to escape the checker and then vehemently try to gaslight people who point out the bugs. Even developers of widely used, high profile projects. As nice as checked lifetimes are, there's no silver bullet for stupidity.
Comment