4 ms·
Yes, it’s a nuanced blog post. But that also means it doesn’t coming out swinging hard for needing a standard, either. It seems like there is as strong an argum
by faitswulff 3y ago
Yes, it’s a nuanced blog post. But that also means it doesn’t coming out swinging hard for needing a standard, either. It seems like there is as strong an argument to be made that “Rust is a great language. There is no reason why it needs a standard.”
See the Ferrocene compiler which has been qualified for ISO standards. It’s essentially a standard Rust 1.68 compiler with a lot of added documentation. If you need a Rust compiler for safety critical environments, it’s reasonably priced and requires essentially zero changes to the Rust compiler that they didn’t just upstream. Without a standard.
Yes, it would be nice to have a standard for reducing ambiguity. But does the language need a standard? And if so, then for what purpose?
- thesuperbigfrog 3y agoThey created a specification for Ferrocene because Rust does not yet have a language standard: https://spec.ferrocene.dev/ https://spec.ferrocene.dev/ >> But does the language need a standard? Yes, Rust needs a standard. >> And if so, then for what purpose? For the same purpose that all standards have--to formally define it in writing. Ferrocene's web site (https://ferrous-systems.com/ferrocene/ https://ferrous-systems.com/ferrocene/) shows that it meets the ISO 26262 standard (https://en.wikipedia.org/wiki/ISO_26262 https://en.wikipedia.org/wiki/ISO_26262). Why does ISO 26262 matter? What purpose does it serve? Couldn't a vehicle manufacturer just say "our vehicles are safe"? Which would you trust more: a vehicle that is verified to meet ISO 26262 standards, or a vehicle whose manufacturer tells you "it's safe" without formally defining what "safe" means? I stated it above, but I will re-state it here: Without a language standard, there are many organizations and industries that will not use Rust. Not because Rust is not a fantastic tool for the job, but because laws, regulations, etc. require standardization and qualification of components. This means that I can use a qualified C compiler and toolchain to write safety-critical code, but I can't use Rust despite the fact that Rust is a better choice and will help to prevent problems. Standards do matter. Rust needs a language standard.
- faitswulff 3y ago> For the same purpose that all standards have--to formally define it in writing. This is tautological. It's equivalent to saying "it needs a standard to be written because it needs a written standard." I mean what use case is there for Rust language users that isn't already met by the Ferrocene project? And the Ferrocene project is not a standard as in "other implementations will be found lacking," but a description of the 1.68 compiler as-is. That is a specification, not a standard. Ferrous Systems did not need Rust to have a standard in order to qualify the compiler for ISO 26262 and IEC 61508.
- thesuperbigfrog 3y ago>> "it needs a standard to be written because it needs a written standard." Yes. And if the law in your country requires it to be standardized for specific use cases, then a language standard is needed. >> what use case is there for Rust language users that isn't already met by the Ferrocene project? Can you legally use Rust for the control software in aircraft? (https://en.wikipedia.org/wiki/DO-178C https://en.wikipedia.org/wiki/DO-178C) What about the safety systems for railroads? (https://ldra.com/ldra-blog/software-safety-and-security-standards-for-gts-and-rail-applications/ https://ldra.com/ldra-blog/software-safety-and-security-stan...) What about the control systems for nuclear reactors? (https://www.nrc.gov/docs/ML1300/ML13007A173.pdf https://www.nrc.gov/docs/ML1300/ML13007A173.pdf)
- faitswulff 3y agoAnd if you need a ISO 26262 qualified Rust compiler, one exists. Hurrah. Since you edited your post…simply having a standard won’t immediately qualify the language for those industries. There is only a tenuous link between having a standard and qualifying the language for industrial use.
- thesuperbigfrog 3y ago>> simply having a standard won’t immediately qualify the language for those industries. There is only a tenuous link between having a standard and qualifying the language for industrial use. Not having a language standard disqualifies Rust. Administrators say that it shows that Rust is "not serious" and "not ready" for critical work.