6 comments

[ 3.6 ms ] story [ 33.4 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.

I see, I didn't know about that, so sorry for what I wrote. I'd rather take it back, but I can't :)
> 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.

Didn't we always know macros were going to be a problem? For the same reasons the API never progressed beyond experimental in Scala 2.
The title is sensationalist click bait.

The link represents Scala Center meeting notes, in which migration challenges were discussed. Scala 3 isn’t released yet, nobody is using it, so discussions on strategy and what’s left to be done is only natural.

Note that Scala 3 will preserve binary compatibility for compiled binaries, meaning that Scala 2.x binaries will be usable from Scala 3. This is quite the feat, because Scala 3 has pretty major changes.

Also all library authors hate macros, because they expose the unsanitized compiler internals. We still used macros, being a necessary evil, but it’s great that Scala 3 has cleaner alternatives.