Unpopular opinion: What it means for a language to “have a spec” is so ambiguous as to be meaningless in practice.
-
Show this thread
-
Replying to @pcwalton
I think this is a general point about software specification: both that there are a wide variety of kinds of specs, and that the line between specification and documentation is hard to make precise.
1 reply 0 retweets 6 likes -
Replying to @samth
Yeah, it’s a case in which Rust gets punished for doing the conservative thing. Most other languages would just call the Rust Reference a “spec” and call it a day, but the bar that Rust has historically set for a “spec” is probably so high it will never be reached.
1 reply 0 retweets 10 likes -
We’d feel guilty for accepting anything less than a full operational semantics as a spec, but in reality what people want specs for is to tick the box that says “this language has a spec”, not to actually *do* anything with the spec.
1 reply 0 retweets 11 likes -
People read specs to learn the language, to try implementing independently and then interop-testing, to settle disputes among impls. These have some value.
2 replies 0 retweets 4 likes -
Replying to @BrendanEich @samth
Sure, but they can do that with the reference, regardless of whether it’s called a spec or not.
2 replies 0 retweets 2 likes -
I'm not sure where the guilt about not having only a spec unless it's a super-spec comes from. If the reference is good enough, call it a spec. Can you say where the higher standard comes from?
1 reply 0 retweets 2 likes -
Replying to @BrendanEich @samth
I dunno. Rust has had a culture of conservatism from the very beginning—it comes from being a language with a focus on safety and an academic influence, I think. IMO it’s a healthy attitude overall for keeping us honest, but it sometimes holds the language back a bit.
1 reply 0 retweets 9 likes
Another example is the way Rust issues security advisories for potential misuse of the standard library, even if there has never been an actual security problem. This is more than almost any other language does and can give the wrong impression.
-
This Tweet is unavailable.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.