Lehrplan: die Sprache Scala
Die ersten vier Stufen führen durch die Sprache selbst – von der Installation bis zu Monaden und Futures. Jede Lektion setzt nur voraus, was vorher erklärt wurde, und endet mit einer kleinen Aufgabe samt Lösungsvorschlag.
So arbeiten Sie mit dem Lehrplan
Wer Scala neu lernt, geht die Lektionen der Reihe nach durch. Tippen Sie die Beispiele selbst ab, statt sie zu kopieren – Tippfehler und Compilermeldungen gehören zum Lernen dazu. Für Umsteiger aus Java, Kotlin oder C# lohnt ein schnellerer Durchgang durch Stufe 1 und 2 und ein genauerer Blick auf Stufe 3 und 4, denn dort unterscheidet sich Scala am stärksten.
Nach diesen vier Stufen geht es mit den Collections und den Werkzeugen weiter. Kurze Rezepte zum Nachschlagen stehen in den Schnipseln.
Stufe 1: Einstieg
Was Scala ist, wie man es installiert und wie die ersten Zeilen im Terminal laufen.
- 01Einleitung: Was ist Scala?Herkunft, Eigenschaften und Einsatzgebiete der Sprache.
- 02Download und InstallationCoursier, JDK und der scala-Befehl unter Windows, macOS und Linux.
- 03Hello world!Das erste Programm mit @main – und was dabei passiert.
- 04Der Scala-Interpreter und Scala-SkripteInteraktiv ausprobieren und kleine Skripte ohne Projekt schreiben.
- 05Konventionen: Namen, Einrückung und StilNamen, Einrückung, Typangaben und scalafmt.
Stufe 2: Sprachkern
Werte, Ausdrücke, Funktionen und die Schleifen, die in Scala keine sind.
- 06Variablen, Werte und Basistypenval, var, lazy val, Int, Double, Boolean und Co.
- 07Elementare Kontrollstrukturenif, while, for und match – und warum sie Werte liefern.
- 08Funktionen und Methodendef, Parameter, Lambdas, Currying und Operatoren.
- 09StringsInterpolation, stripMargin, split, mkString und Vergleiche.
- 10for-AusdrückeGeneratoren, Filter, yield – und was der Compiler daraus macht.
- 11RekursionBasisfall, Aufrufstapel, Endrekursion und @tailrec.
- 12TupelWerte bündeln, zerlegen und als Rückgabe nutzen.
Stufe 3: Objekte und Typen
Klassen, case classes, Traits, Pattern Matching, Generics und given/using.
- 13Klassen und Objekteclass, Konstruktoren, object, case class, enum und Vererbung.
- 14TraitsSchnittstellen mit Inhalt, Mixins und sealed traits.
- 15Pattern MatchingWerte prüfen und zerlegen mit match und case.
- 16Generics: Typparameter und VarianzTypparameter, Typgrenzen, Kovarianz und Kontravarianz.
- 17Implizite Konvertierung, given und usingKontextparameter, Typklassen, Extensions und Konvertierungen.
- 18Exception Handlingthrow, try/catch/finally, Using – und wann besser nicht.
Stufe 4: Funktional denken
Reine Funktionen, Option, Try und Either, Monaden ohne Nebel und Futures.
- 19Auf dem Weg zur funktionalen ProgrammierungReine Funktionen, Unveränderlichkeit und Komposition.
- 20Option, Some und NoneFehlende Werte sicher behandeln – ohne null.
- 21Try, Success und FailureExceptions einfangen und als Wert weiterreichen.
- 22Either, Left und RightErgebnis oder begründeter Fehler – mit eigenen Fehlertypen.
- 23Monaden – das Muster hinter flatMapDas gemeinsame Muster von Option, Try, Either und List.
- 24Nebenläufigkeit: Futures und AktorenFuture, ExecutionContext und der Weg zu Aktoren.
Was Sie danach können
- Scala installieren, Programme und Skripte starten und die REPL nutzen,
- Daten mit case classes, enums und Traits modellieren,
- Werte mit Pattern Matching prüfen und zerlegen,
- Fehler mit Option, Try und Either ausdrücken statt mit null und Exceptions,
- nebenläufige Aufgaben mit Futures formulieren,
- Scala-2-Code lesen, der Ihnen in älteren Projekten begegnet.