Hacker News new | ask | show | jobs
by thesuperbigfrog 1280 days ago
>> I’ve come to the conclusion that fragmentation is inevitable as a language gets popular.

That's what language standards are for.

The Ferrocene project is working on standardizing Rust and creating a safety-critical version of the Rust toolchain:

https://ferrous-systems.com/ferrocene/

The Ferrocene Rust draft spec is out:

https://spec.ferrocene.dev/

As Rust continues to improve and be more widely used and adopted, there will be multiple implementations. As you've stated, it is inevitable as Rust gets popular. (For example, if Rust becomes popular enough to displace niches that C and C++ have occupied, when will Microsoft release a Rust toolchain? When will Intel release a Rust toolchain? And so forth.)

Standards help to better define what a Rust toolchain should do and what it means to be a conforming Rust implementation.

1 comments

Standards are necessary and help of course. But the real power always lies with the implementations. There is no compliance without enforcement.

For example, C++ has a standard, but compliance is all over the place. Even Fortran has the same problem. The web also had a standards body (W3C) but eventually that was completely ignored and became irrelevant.

>> Standards are necessary and help of course. But the real power always lies with the implementations. There is no compliance without enforcement.

You are correct.

Compliance depends on the implementation developer / maintainer. If the standard exists and is agreed upon, at least users can petition the implementation developer / maintainer and say "Your implementation does not conform to section 3, paragraph 2, line 1 of the standard. The expected behavior is X, but your implementation does Y. Please fix it."

If a standard does not exist, then who is to say what the correct behavior should be?

If there is a standard, but no one follows it, then perhaps the standard needs to be adjusted. (Why is the standard not being followed? Were bad ideas standardized? Did the standards committee follow after one vendor's implementation to the detriment of other vendors' implementations? etc.)