72 ms·
Just pains me that the Rust team is so oblivious to the fact that they need a spec if they ever hope to have a chance to replace C.
by alharith 7y ago
Just pains me that the Rust team is so oblivious to the fact that they need a spec if they ever hope to have a chance to replace C.
- steveklabnik 7y agoWe are not oblivious. First of all, we are not really trying "to replace C." Second, a tremendous amount of work has been put into specifying Rust. It's just also a tremendous amount of work. Like, "the EU has given grants of millions of Euro towards working on it but we're still not done" amounts of effort. C did not have a standard for 18 years, it was first created in 1972, and ANSI C didn't appear until the spring of 1990. I'm not suggesting that it took them 18 years to write a spec, it's that it wasn't really needed for a long time. Expecting Rust to have one after five years is aggressive. Some languages have done this! I think we'll end up somewhere between what C did and what C# did, in this regard.
- earthboundkid 7y agoGo has a spec, which has been used to make gccgo. I'm not very familiar with other specs: is it fair to say that the Go spec is less detailed and so was able to be completed before 1.0? Is it "not a real spec" compared to ANSI C, ECMA, etc.?
- steveklabnik 7y agoI have not read the Go spec, and so I can't really comment. However, you do also bring up something that's a good point when it comes to this discussion: a lot of people treat "a spec" as a binary thing: a language has it, or does not have it. But specs are written by humans, and have their own mistakes, bugs, errata, etc. One of the reasons that we haven't wanted to declare "this is the spec for Rust" is that we want to have a good, possibly even formally verifiable spec. The reference is basically at a fairly reasonable informal spec level.
- pcwalton 7y agoAnd yet C, which had no spec at the time, beat out Algol, which had one.
- pjmlp 7y agoYou had to pay for Algol compilers, while C came for free with UNIX tapes that landed on university labs out of Bell Labs.