Recommended Scala/JVM ecosystem learning resources for Pythonista?

Let’s put it this way: the concepts aren’t changing a huge amount, especially the normal application-level ones. The most conspicuous change is arguably the least important – the optional-braces thing makes it look very different but doesn’t change anything meaningful. The zillion different meanings of the word “implicit” are being replaced by more specialized constructs, but the underlying concepts are largely still the same. And there are a lot of new power features in the language, but they are mostly adding to stuff that was already there.

(A few things are going away – most notably the never-officially-released Scala 2 macro system – but that’s not stuff you would deal with while initially learning the language. The new restrictions on implicit conversions are probably the most user-visible change, mainly because it has proven to be fairly dangerous if used casually.)

So learning Scala 2 is still reasonably worthwhile if you want to dive in – the important stuff translates fairly easily, and the documentation goes into excellent detail about what’s changing. OTOH, depending on what you want to get out of it, you might want to just dive directly into Scala 3.

Things are preparing to come out, although folks are waiting for the final release before calling them done. For example, you can get the Scala 3 edition of Programming in Scala in preprint. And a bunch of stuff will be released shortly after the official language release – for example, they’ve redone the Coursera courses for Scala 3, and plan on releasing them soon.

So basically, we’re at the “waiting with bated breath” stage in the community – once we get an RC that doesn’t turn up any major bugs, it’ll be released, and a lot of libraries and resources are preparing to release as soon as possible afterwards.

1 Like