Online
Classroom

Scala 3 Upgrade Course

Part of our "Scala" courses

1 day

thumb image

Course Overview

This is a great course that familiarises experienced scala developers with the new features that were introduced in Scala 3. The course also covers migration techniques and strategies.

Course Prerequisites

Students should be familiar with Scala 2

Outline

We are proud to offer this Scala 3 upgrade course. This course is geared toward students that already are familiar with Scala 2 and wish to quickly learn new and updated language features, techniques and migration strategies. If you are a newcomer to scala, we recommend our Core Scala 3 course: SCALA-CORE.

EDC4IT has been working with Scala since the early 2000s, and has taught many teams.

We worked together with different teams on their projects.

This course covers:

Introduction to Scala 3

  • Introduce Scala 3
  • Changes to the compiler (and intro into DOT calculus)
  • Optional braces and indentation
  • Deprecated features

New Language Features

  • Explicit nulls and safe initialization
  • Intersection and union types
  • Using enums for simplified ADTs
  • Simplified pattern matching
  • Discuss changes in Macro support
  • Changes for traits (parameters, transient, …)
  • Using export clauses

Changes

  • Changes to refinement and structural types
  • Changes for operators and infix notation
  • Defining applications (and using the FromString type-class)
  • Open/closed classes
  • Changes to eta-expansion
  • Changes to equality (and using type-class derivation)
  • Other changes

Changes in Implicits

  • defining implicit conversions
  • Using extension methods
  • using givens/using
  • Defining and implementing Type Classes in Scala 3
  • Opaque Type Aliases
  • Introduce Type-class derivation

Migration Strategies

  • Discuss migration strategies
  • Manage dependencies and use scala 2 libraries
  • Using compiler flags
  • Using the compiler to aid in migration
  • Applying scalafix rules
  • Using sbt (Scala 3 Migrate Plugin)

Private Events

Is your team in need of a Scala 3 Upgrade Course course?

Send us a message, and we'll get in touch, without any obligation.

languages:
enfrnl

Upcoming Public Events

Currently we have no public courses planned for Scala 3 Upgrade Course

This Scala 3 Upgrade Course course looks very interesting, I do however have a question