6 ms·
Rust needs a language standard: https://blog.m-ou.se/rust-standard/ https://blog.m-ou.se/rust-standard/ https://rust-lang.github.io/rfcs/3355-rust-spec.html h
by thesuperbigfrog 3y ago
Rust needs a language standard:
https://blog.m-ou.se/rust-standard/ https://blog.m-ou.se/rust-standard/
https://rust-lang.github.io/rfcs/3355-rust-spec.html https://rust-lang.github.io/rfcs/3355-rust-spec.html
https://github.com/rust-lang/rfcs/pull/3355 https://github.com/rust-lang/rfcs/pull/3355
There are many organizations and industries that will not adopt Rust until it has a standard.
C, C++, C#, and even JavaScript (ECMAScript) have language standards. Why shouldn't Rust have one too?
C: https://www.iso.org/standard/74528.html https://www.iso.org/standard/74528.html
C++: https://isocpp.org/std/the-standard https://isocpp.org/std/the-standard
C#: https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/introduction https://learn.microsoft.com/en-us/dotnet/csharp/language-ref...
JavaScript / ECMAScript: https://ecma-international.org/publications-and-standards/standards/ecma-262/ https://ecma-international.org/publications-and-standards/st...
- ajross 3y agoYeah. The culture crash here is shocking dissonant. The people you'd normally expect to be the biggest voices for documentation robustness are... ... suddenly finding themselves in the "Actually, language standards are bad" camp, all because of a tribal opposition to the FSF? Write the standard. Then argue that gccrust doesn't do it right. Don't refuse to document the language just to hamstring a competitor. Also, please start with the borrow checker semantics. I don't think I've ever met anyone who could explain exactly what the rules are regarding what it can/can't prove.
- estebank 3y agoThere's been active work on a Rust specification for a while now. It'll happen. https://blog.rust-lang.org/inside-rust/2023/11/15/spec-vision.html https://blog.rust-lang.org/inside-rust/2023/11/15/spec-visio...
- Rusky 3y agoWhat culture crash? The Rust project has a language reference, is working on expanding it into a more formal spec, and there are efforts like Ferrocene's to qualify the existing compiler for use in safety critical environments. The argument is not that language standards are bad, it's that a C++-like ISO standard is unnecessary (when the quality documentation can exist in another form) and C++-like implementation fragmentation is bad. (Have you read the NLL RFC? The Polonius work?)
- jen20 3y ago> There are many organizations and industries that will not adopt Rust until it has a standard. Counterpoint: rust is doing fine without those organizations and industries. Why change what is working well?
- yjftsjthsd-h 3y agoIf rust wants to replace memory-unsafe languages, it needs to cover their use cases.
- junon 3y agoWhich usecases does it not cover?
- yjftsjthsd-h 3y ago>>> There are many organizations and industries that will not adopt Rust until it has a standard. So if you want those orgs/industries to get memory safety via rust, you either need a standard, or to convince them to not require that.
- junon 3y agoThose are bureaucratic reasons, not anything specifically lacking in Rust.
- thesuperbigfrog 3y ago>> Counterpoint: rust is doing fine without those organizations and industries. Why change what is working well? Because Rust is a game changer. Wouldn't it be better to have Rust used for the code that runs on automobiles and aircraft? Or you would prefer that they keep using (subsets of) C and C++? Is the security of your Internet-of-Things (IoT) devices good enough or could they be better? What do you have against Rust being used in more places and for more purposes?
- 3y ago
- mjw1007 3y agoThat RFC is accepted, and this is starting to happen. Progress has been disappointingly slow, but the project is alive, and has potential to speed up next year. https://blog.rust-lang.org/inside-rust/2023/11/15/spec-vision.html https://blog.rust-lang.org/inside-rust/2023/11/15/spec-visio...
- starlevel003 3y ago> That RFC is accepted, and this is starting to happen. > Progress has been disappointingly slow, I don't think there's ever been a more concise summary of Rust.
- Ar-Curunir 3y agoLOL some people complain that Rust is moving too slow, and others that Rust is moving too fast and adds too many features. Can never make everyone happy...
- scottlamb 3y agoI just filled out the Rust survey [1] and may have done both—iirc there were checkboxes for missing features and concerns the language is getting too complicated. It's a hard balance to find. [1] https://blog.rust-lang.org/2023/12/18/survey-launch.html https://blog.rust-lang.org/2023/12/18/survey-launch.html
- SV_BubbleTime 3y agoDepending on the scenario, I don’t hear mutual exclusion there. It can be moving too slow on important things, and too fast on unimportant or volatile things.
- hgomersall 3y agoThe problem is the things people think are important or unimportant is not universal.
- gkbrk 3y agoGo has a really nice spec and multiple implementations too. https://go.dev/ref/spec https://go.dev/ref/spec
- loeg 3y agoDoes any other go implementation support the full language? I thought gccgo lagged significantly.
- eikenberry 3y agoThe official GCC releases tend to lag a bit as they are released on a longer cadence than the standard Go compiler but upstream. The current release is a bit further behind than normal due to the complexities around implementing the generics back end, but it is being worked on (https://groups.google.com/g/golang-dev/c/5ZKcPsDo1fg https://groups.google.com/g/golang-dev/c/5ZKcPsDo1fg).
- pjmlp 3y agoThanks for the heads up, I was starting to think it would join gjc in retirement home.
- faitswulff 3y agoMara’s blog post (your first link) says essentially that Rust does not need a standard since it already has means for adding features and maintaining compatibility.
- thesuperbigfrog 3y agoMara's blog post also describes the benefits of standardizing Rust. Since she created the RFC for standardizing Rust (https://github.com/rust-lang/rfcs/pull/3355 https://github.com/rust-lang/rfcs/pull/3355) and is also on the team that is working on Rust standardization (https://blog.rust-lang.org/inside-rust/2023/11/15/spec-vision.html https://blog.rust-lang.org/inside-rust/2023/11/15/spec-visio...), I think she was making the point that Rust has good controls in place for adding features while compatibility, not that "Rust does not need a standard". If she really believed that Rust does not need a standard, why would she create the RFC and join the team working on the effort? Rust is a great language. There is no reason why it should not have a standard to better formalize its requirements and behaviors.
- faitswulff 3y agoYes, 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.
- ivanjermakov 3y agoThis is really odd to me. Language design should start with specification. Your compiler is just a reference implementation.
- sunshowers 3y agoRust language design does start from specifications, namely RFCs. What is being discussed here is producing a more formal specification than the ones that currently exist.
- pie_flavor 3y agoThe Ferrocene spec permits Rust to be used in those industries.
- deleted 3y ago[deleted]