Scala 3 New Features

Learn Scala 3 new features without learning the language all over again. A short course for Scala 2 developers.


Learn Scala 3 new features now.

If you're reading this, you're a Scala developer. Unless you've been like Tom Hanks in Cast Away, you know Scala just took a major leap: Scala 3 is a revolutionary step in the evolution of the language and there are lots of changes to simplify our lives as developers. LOTS of them.

Geting yourself familiar with Scala 3 new features can be a challenge, since there are so many changes in the language, a million places on the web describing bits and pieces, and your time is limited. If you're like me, you don't want to spend dozens of hours scouring the web or learning the upgraded Scala 3 Essentials and Advanced courses here on Rock the JVM all over again.

This course will show you just the new features in Scala 3,
so you can upgrade your skills as fast as possible.

Skills you'll get after taking this course

  • understand how the Scala language and runtime changed
  • use the new abstractions in Scala 3
  • use new simplified syntax in Scala 3
  • maintain your code style in Scala 3 (if conservative)
  • change your code style in Scala 3 to braceless and indentation (if adventurous)
  • cut the removed features of Scala 2 out of your code before upgrading to Scala 3
  • organize your code better with the new importing features
  • interoperate better with Java

How this course helps you

  • it walks you through each important change in the language so you know what to do at work
  • it gives you examples that are relevant for real Scala projects
  • it gives you just the tips you need, without going through basics all over again
  • it organizes the changes that will likely affect you, so that you won't spend time asking "how is this relevant?"
  • it selects and sequences out the topics so they click in your head

The main value of the course is that it saves you time.

This course is compact and will give you everything you need in just 4 hours. By comparison, I've spent thousands of hours learning everything there is to know about Scala here for Rock the JVM, and I've stalked the Scala 3 repo and studied the impact of Scala 3 changes for hundreds of hours, so that you get the same insight in an afternoon instead of a month.

Short as it is, the course packs a punch - we write 1000+ lines of code in this course! If you know my style, you know I like to get straight to the point and I won't waste a minute of your time.

Time is your most valuable resource. My pledge to you is that in this course, you'll spend it well.

Your Instructor

Daniel Ciocîrlan
Daniel Ciocîrlan

I'm a software engineer and the founder of Rock the JVM. I started the Rock the JVM project out of love for Scala and the technologies it powers - they are all amazing tools and I want to share as much of my experience with them as I can.

As of February 2024, I've taught Java, Scala, Kotlin and related tech (e.g. Cats, ZIO, Spark) to 100000+ students at various levels and I've held live training sessions for some of the best companies in the industry, including Adobe and Apple. I've also taught university students who now work at Google and Facebook (among others), I've held Hour of Code for 7-year-olds and I've taught more than 35000 kids to code.

I have a Master's Degree in Computer Science and I wrote my Bachelor and Master theses on Quantum Computation. Before starting to learn programming, I won medals at international Physics competitions.

Get started now!

Frequently Asked Questions

How much time do I need to learn Scala 3?
If you want to learn on your own, you can learn Scala 3 from various blog posts, the Scala documentation website, Scala books or videos online. Between searching, reading everything, making all the connections, practicing the new features on your own code and applying what you've learned, it usually takes a few dozen hours. I want to help you get everything you need in 4 hours.
Is Scala 3 hard to learn?
Not at all, in fact it's quite easier to get started with Scala 3 than Scala 2 if you're a beginner. If you're a Scala developer already, learning Scala 3 is not difficult, it just takes time. That said, there are some Scala 3 new features that are hard (e.g. type lambdas) even for existing Scala developers. We'll cover everything in this course with easy examples.
Why should I upgrade to Scala 3?
Scala 3 introduced some changes that make a developer's life much easier. Scala 3 also changed compiler internals so that it has backward compatibility, which is a first for the Scala language. Going forward, it's going to be much easier to upgrade to the latest Scala version. The compiler is also faster, and the language itself is more expressive.
What is the difference between Scala 2 and Scala 3?
Scala 3 introduced a bunch of language features like enums, extension methods, new context abstractions, type lambdas and a lot of niceties that make our life easier. The compiler is also different, faster and with backward compatibility between Scala 3 versions.
Is Scala 3 production ready?
Does Spark support Scala 3?
At the time of writing (May 2022) it's been supporting Scala 2.13 for almost a year. Scala 3 is backwards compatible with 2.13, so it's only a matter of time before they upgrade.
Does ___ support Scala 3?
More and more libraries and tools are being upgraded to Scala 3. Most Typelevel libraries (Cats, Cats Effect, etc) already support it, ZIO 2.0 supports it out of the box, and Akka is due to release Scala 3-native artifacts soon (writing this in May 2022).
Does the course include migration strategies?
No. This course contains everything changed with the Scala language and runtime. In my experience, a migration is almost always a very particular journey for every project. So if I show you some patterns and tips, they may not apply to you exactly, and the common patterns are too simple and would have bloated this course. The goal of the course is to be short, sweet and focused on writing Scala, so I decided not to include them. Feedback welcome at [email protected]!
Does the course include the new Scala 3 metaprogramming?
Scala 3 metaprogramming deserves its own course - will come soon in the form of some "black magic" Scala course.
How is this course different from the other Scala 3 courses on Rock the JVM?
This course is focused just on the Scala 2 -> Scala 3 changes. If you're a Scala dev already, you don't need me to tell you the basics again. The Scala Essentials + Advanced courses are 40 hours in total! This course is just 4 hours long. Take this one, and you'll be well on your way.
What if I don't like the course?
Then I want to give your money back. Email me at [email protected] with your receipt, and I will refund you. Less than 1% of the Rock the JVM students have refunded a course, and the refund took less than 72 hours.