Seminarinformationen

Seminar - Ziel

In dieser 3-tägigen Schulung "Scala Language - What's new in Scala 3?" werden die neuesten Funktionen und Verbesserungen von Scala 3 vorgestellt. Das Ziel des Seminars ist es, den Teilnehmern einen umfassenden Überblick über die neuen Features zu geben und ihnen zu zeigen, wie sie diese effektiv in ihren Scala-Projekten einsetzen können.

Zu Beginn werden die Designziele von Scala 3 behandelt und das Projektsetup mit sbt für Scala 3 erläutert. Danach werden die neuen Funktionen und Verbesserungen in Scala 3 vorgestellt, darunter Top-Level-Definitionen, optionale Klammern, neue Kontrollstrukturen, Traits-Parameter, Enums und ADTs, Typklassen, implizite Konvertierungen, Extension Methods, Contextual Abstractions und vieles mehr.

Ein besonderer Schwerpunkt liegt auf der Rückwärtskompatibilität und der Migration von Scala 2 auf Scala 3. Die Teilnehmer lernen den Einsatz von Tasty, dem Typed Abstract Syntax Tree, und erfahren, wie Scala 2-Bibliotheken in Scala 3 und umgekehrt verwendet werden können.

Am Ende des Seminars werden die Teilnehmer ein tiefes Verständnis für die neuen Funktionen und Verbesserungen in Scala 3 besitzen und diese effektiv in ihren Projekten nutzen können. Zudem werden sie die nötigen Kenntnisse für die Migration von Scala 2 auf Scala 3 haben und wissen, wie sie Scala 2- und Scala 3-Bibliotheken kombinieren können.

Teilnehmer - Zielgruppe

  • Software-Entwickler

Kurs - Voraussetzungen

Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:

Seminardauer

  • 3 Tage
  • 09:00 Uhr bis 17:00 Uhr

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

Design Goals

  • Scala 3 Design Goals

Scala 3 Project Setup

  • sbt Setup of a Scala 3 Project

Features

  • Top Level defs and vals
  • Indentation / Optional Braces
  • New Control Syntax
  • Main Methods
  • Constructor Invocations without new
  • Traits Parameters
  • Enums and ADTs
  • Intersection Types and Union Types
  • Contextual Abstractions
  • Implicit Conversions
  • Extension Methods
  • Givens (the new Implicits)
  • Type Lambdas
  • Typeclasses
  • Opaque Type Aliases
  • Context Functions
  • Dependent Function Types
  • Tuples are HLists.
  • Match Types
  • Export Clauses
  • Explicit Nulls
  • inline
  • Multiversial Equality
  • Typeclass Derivation
  • Given By-Name Parameters
  • Implicit Resolution
  • Overload Resolution
  • Other Features

Backward Compatibility and Migration

  • Tasty (Typed Abstract Syntax Tree)
  • Using Scala 2 Libraries in Scala 3
  • Using Scala 3 Libraries in Scala 2.13

Weitere Schulungen zu Thema Scala

Scala Tools - scalafix, scalafmt und mdoc

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In dieser 2-tägigen Schulung "Scala Tools - Scalafix, Scalafmt und Mdoc" lernen Sie die Anwendung und Funktionen von Scalafix, Scalafmt und Mdoc in Scala-Projekten kennen. Scalafix ist ein Tool zum Linting und Refactoring von Code, mit dem Sie spezifische Code-Regeln ...

Scala Tools - Compiler

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In dieser 1-tägigen Schulung "Scala Tools - Compiler" lernen Sie den Scala-Compiler und seine umfangreichen Steuerungsmöglichkeiten kennen. Der Scala-Compiler ist ein unverzichtbares Werkzeug für Scala-Entwickler und bietet zahlreiche Optionen zur Steuerung des ...

Scala Testing - MUnit und Scala Check

- u.a. in Bremen, Köln, Nürnberg, Kassel, Nordhausen

In diesem 2-tägigen Seminar "Scala Testing - MUnit und ScalaCheck" lernen Sie, wie Sie Ihre Scala-Codebasis effektiv mit den Test-Frameworks MUnit und ScalaCheck testen können. Der Kurs beginnt mit einer Einführung in verschiedene Test-Frameworks für Unit-Tests, darunter ...

Scala Testing - ScalaTest und ScalaCheck

- u.a. in Köln, München, Wien, Zürich, Freiburg

In diesem 2-tägigen Seminar "Scala Testing - ScalaTest und ScalaCheck" lernen Sie, wie Sie Ihre Scala-Codebasis effektiv mit den Test-Frameworks ScalaTest und ScalaCheck testen können. Der Kurs beginnt mit einer Einführung in die verschiedenen Test-Frameworks für ...