4 ms·
> Most language-level decisions seemed to be mostly dictated by what anyone was actually able to implement in the compiler This is getting off topic, but that
by ekidd 9y ago
> Most language-level decisions seemed to be mostly dictated by what anyone was actually able to implement in the compiler
This is getting off topic, but that hasn't really been my experience as a user of Rust. Yes, the compiler is full of weird ancient code, but that doesn't seem to constrain the design of RFCs. As far as I can tell:
1. The ancient code in the compiler means that some highly desirable features have taken a couple of years to implement. Granted, some of this is being fixed by the MIR work. But things like stable async/await are probably going to take a while.
2. Some desirable features are constrained by backwards compatibility with existing Rust source. This has affected the module system work, for example.
3. Rust has moved into a particular ecological niche: Precise control over memory allocation and copying, generic types that are monomorphized at compile-time, etc. The best-known language in this space is C++. And so Rust needs to wrestle with many of the same issues that C++ has, such as whether to allow partial specialization.
It's certainly not a perfect process, and not everybody will be interested in the particular tradeoffs Rust chose. But it's still one of the best "bazaar"-style projects I've ever seen.