Is the notion of an "official compiler" a bad idea?

216 points SCP-iota

There's an important difference between how Rust has been designed vs. how languages like C and C++ were designed: C and C++ got a specification, while Rust language design is tightly coupled with the development of rustc. The standardization of Rust has been brought up before, and the consensus seems to be that Rust shouldn't be handed over to a standards organization, and I agree. However, it's still possible for the design of the Rust language to be decoupled from the main compiler, where language design would be done with a formal document and implementation would be separate.

I think this would be a good idea because the current strategy relies on the idea that rustc is the official compiler and any other implementation is second-class. Alternative compilers like mrustc, if they ever become usable, will struggle to keep up with new language features and will have a hard time declaring their compatibility level. The concept of keeping language design separate from implementation isn't new; for example, Raku kept its specification implementation-agnostic even though there's really only one complete compiler.