Programming Scala, Third Edition covers Scala 3. It will be published in June, 2021, around the time that Scala 3.0 is finalized. You can read “early access release” chapters now on the O'Reilly online learning platform.
I've also started a blog series about Scala 3, where I summarize the highlights of what's new.
You can also find this synopsis of Scala 3 changes, which I used as notes for several talks on Scala 3, such as the November 20, 2020 meeting of the Chicago Area Scala Enthusiasts.
The repo for the book's code examples is now updated for the third edition and Scala 3. However, the second edition code is available in the v2.1.0 release. That release still closely follows the organization of the second edition of the book, but it has also been updated for Scala 2.12 and 2.13. The current
All three editions of this book are the books on Scala that I would want to read, if I were to start from the following background:
I would read Programming Scala to achieve the following:
My goal for the reader is to really know the language, including the common techniques used to solve various design problems, as well as general best practices and idioms. There are some more obscure topics that I omit and some advanced topics that I only briefly mention, but you should be expert in Scala when you finish the book.
For more information:
To discuss the book, the code examples, etc. use one of these forums:
If you're using Spark and you want a quick introduction to Scala aimed at Spark developers, check out my free tutorial, Just Enough Scala for Spark.