3 comments

[ 2.6 ms ] story [ 18.7 ms ] thread
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.
That's a quite a hyperbolic statement.

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.