Programming Scala, Third Edition covers Scala 3. It will be published in June, 2021. You can read “early access release” chapters now on the O'Reilly online learning platform.
You can also pre-order ebooks and print copies at these book stores:
See my blog series about Scala 3, where I summarize the highlights of what's new.
I also created 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.
Why Programming Scala?
Programming Scala, Third Edition is a comprehensive and up-to-date introduction to Scala 3. It is written for experienced developers new to Scala, as well experienced Scala developers migrating to Scala 3.
The repo for the book's code examples is Apache-licensed open source. If you want the examples for the second edition, focused on Scala 2, see the v2.1.0 release tag, which closely follows the organization of the second edition of the book, but it has been updated for Scala 2.12 and 2.13. The current
I wrote the Scala book I would want to read, if I were starting from the following background:
I would read Programming Scala, Third Edition to achieve the following goals:
My goal for the reader is to really know the language, including how features work, the design challenges and coding problems they were introduced to solve. I want you to learn 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 this book.
To discuss the book, the code examples, etc. use one of the following forums. Bug reports (and patches!) are especially welcome:
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.