Scala für Backend Engineering und funktionale Programmierung
Scala läuft auf der JVM und vereint objektorientierte und funktionale Programmierung in einer einzigen, statisch typisierten Sprache. Es treibt die Dateninfrastruktur bei Unternehmen wie Twitter, LinkedIn und Databricks an – über Frameworks wie Apache Spark, Akka und Play. Dieser Track behandelt Scala von seiner Syntax und seinem Typ-System bis zur produktionsreifen Backend-Entwicklung, Concurrency und fortgeschrittenen funktionalen Mustern.
Was Sie lernen werden
Sie beginnen mit Scalas Syntax, dem REPL, Werten, Typen und Pattern Matching, dann bewegen Sie sich zu Case Classes, Algebraischen Datentypen und dem Option/Either/Try Error-Handling-Modell. Von dort aus arbeiten Sie sich durch Higher-Order Functions, Tail Recursion, For-Comprehensions und Lazy Evaluation mit Streams. Mittelstufen-Themen umfassen Implicits, Type Classes, Generics, JSON-Verarbeitung mit Circe, REST APIs mit http4s, asynchrone Programmierung mit Futures und vollständige Backend-Entwicklung mit dem Play Framework. Fortgeschrittene Kurse behandeln Cats und die IO Monad, ZIO, funktionale Domain-Modellierung, Datenbankzugriff mit Doobie, Daten-Pipelines mit Akka Streams, verteilte Systeme mit Akka Actors und Microservices-Deployment. Der Track endet mit Scala Metaprogrammierung, Macros und Performance Tuning.
Der Lernpfad
Vierzig Kurse führen von A1 bis C2. Die A1- und A2-Kurse vermitteln die Sprach-Grundlagen: Syntax, Collections, Strings, Tuples und Pattern Matching. B1-Kurse entwickeln funktionale Programmier-Kompetenz – Rekursion, Folding, Lazy Lists, Traits, Immutability und das SBT Build-Tool. B2 bewegt sich ins Ökosystem: Type Classes, Circe, Play, Spark, Scala 3 Features und asynchrone Programmierung. Der C1-Block befasst sich mit Produktions-Anforderungen – Cats IO, ZIO, Akka Actors, Akka Streams, Doobie und Cloud Microservices. Der Track endet auf C2 mit Scala Metaprogrammierung und Macros und Performance Tuning und Optimierung in Scala.
Wie es funktioniert
Jeder Kurs ist in kurze, praktische Lektionen unterteilt, die Sie im integrierten Code-Editor mit Live-Feedback absolvieren. Ein KI-Tutor steht zur Verfügung, wenn Sie nicht weiterkommen, und die Progression ist so gestaltet, dass jedes Konzept direkt auf dem vorherigen aufbaut – ohne dass Sie zwischen externen Ressourcen springen müssen.