In my view Rust 2018 showed how a modern (especially strongly typed) language should evolve. The fact that interoperability with Scala 2 as a feature request wasn't accepted means that it's better not to build upon Scala anything with long lasting value.
Incidentally, while in general the very small breaking changes in Rust 2018 were handled just fine, it caused quite a bit of macro breakage as well, with libraries needing to change code in order to be compatible with the 2018 edition.
> The fact that interoperability with Scala 2 as a feature request wasn't accepted means that it's better not to build upon Scala anything with long lasting value.
You're reading the notes wrong. The Scala 3 WIP version (Dotty) is already compatible with Scala 2 except for macro's, which are a pain point. There is a plan for making Scala 2.14 (next version) forwards-compatible with Scala 3, i.e. that it will be able to use Scala 3 binaries.
The vote was whether all efforts should focus on backwards-compatibility and no effort should be put into forward-compatibility or whether forwards-compatibility should remain a point of work.
3 comments
[ 2.6 ms ] story [ 18.7 ms ] threadIncidentally, while in general the very small breaking changes in Rust 2018 were handled just fine, it caused quite a bit of macro breakage as well, with libraries needing to change code in order to be compatible with the 2018 edition.
You're reading the notes wrong. The Scala 3 WIP version (Dotty) is already compatible with Scala 2 except for macro's, which are a pain point. There is a plan for making Scala 2.14 (next version) forwards-compatible with Scala 3, i.e. that it will be able to use Scala 3 binaries.
The vote was whether all efforts should focus on backwards-compatibility and no effort should be put into forward-compatibility or whether forwards-compatibility should remain a point of work.