2 ms·
> It's not clear that any part of the language is so broken that backward compatible changes can't fix it Broadly I agree but the future is kind of unknowable.
by afavour 3y ago
> It's not clear that any part of the language is so broken that backward compatible changes can't fix it
Broadly I agree but the future is kind of unknowable. For example Rust’s 2018 edition introduced the async keyword, a breaking change because you could have made a variable or function named “async” in the 2015 edition.
Async functions weren’t something the first version of Rust and they were introduced with a breaking chance. I like backwards compatibility but am unsure about a future where Go can’t do innovation X because it would break compatibility.
- monocasa 3y agoFWIW async was only sort of a breaking change. The edition system meant that no crates would stop compiling, even with newer compilers, and you can mix crates of different editions in the same build product.