Chapter 1 : Von null auf hundert: Scala kennenlernen
Warum Scala?
Scala installieren
Weitere Informationen
Eine Kostprobe Scala
Ein Häppchen Nebenläufigkeit
und Zusammenfassung Ausblick
Chapter 2 : Weniger tippen, mehr erreichen
Zu diesem Kapitel
Das Semikolon
Variablen deklarieren
Methoden deklarieren
Inferenz
Literale
Tupel
Option, Some und None: Wie man Nullwerte vermeidet
Den Code in Dateien und Namensräume organisieren
Typen und ihre Member importieren
Abstrakte Typen und parametrisierte Typen
Reservierte Wörter
und Zusammenfassung Ausblick
Chapter 3 : Ein paar Grundlagen fehlen noch
Operatoren
Methoden ohne Klammern und Punkte
Domainspezfische Sprachen
Die if-Anweisung
Die for-Comprehension
Weitere Schleifenkonstrukte
Bedingungsoperatoren
Pattern-Matching
Enumerationen
und Zusammenfassung Ausblick
Chapter 4 : Traits
Einführung in Traits
Stapelbare Traits
Traits konstruieren
und Zusammenfassung Ausblick
Chapter 5 : Елементарні objektorientierte Programmierung in Scala
Klassen und Objekte
Elternklassen
Konstruktoren
Verschachtelte Klassen
Sichtbarkeitsregeln
und Zusammenfassung Ausblick
Chapter 6 : Fortgeschrittene objektorientierte Programmierung in Scala
Member von Klassen und Traits überschreiben
Begleitobjekte
Case-Klassen
Gleichheit von Objekten
und Zusammenfassung Ausblick
Chapter 7 : Das Objektsystem in Scala
Das Predef-Objekt
Klassen und Objekte: Was ist aus »static« geworden?
Versiegelte Klassenhierarchien
Die Typhierarchie von Scala
Linearisierung der Objekthierarchie
und Zusammenfassung Ausblick
Chapter 8 : Funktionale Programmierung in Scala
Was ist funktionale Programmierung?
Funktionale Programmierung in Scala
Rekursion
Tail-Calls und Tail-Call-Optimierung
Funktionale Datenstrukturen
Traversieren, abbilden, filtern, falten und reduzieren
Pattern-Matching
Partielle Функції
Currying
Implizite Definitionen
Call-by-name, Call-by-value
Verzögerte Initialisierung
Zusammenfassung: Abstraktionen funktionaler Komponenten
Chapter 9 : Robuste, skalierbare Nebenläufigkeit mit Aktoren
Das Problem des gemeinsamen synchronisierten Zustands
Aktoren
Aktoren in Scala
Traditionelle Nebenläufigkeit in Scala: Threading und Events
und Zusammenfassung Ausblick
Chapter 10 : Aufzucht und Pflege von XML
XML lesen
XML schreiben
und Zusammenfassung Ausblick
Chapter 11 : Domainspezifische Sprachen
Interne DSLs
Externe DSLs mit Parserkombinatoren
und Zusammenfassung Ausblick
Chapter 12 : Das Scala-Typsystem
Reflexionen über Typen
Parametrisierte Typen
Varianz bei Vererbung
Typgrenzen
Null und Nothing
Abstrakte Typen verstehen
Pfadabhängige Typen
Werttypen
Self-Typ-Annotationen
Strukturtyp
Existenzielle Typen
Infinite Datenstrukturen und Trägheit
und Zusammenfassung Ausblick
Chapter 13 : Anwendungsdesign
Annotationen
Enumerationen oder Pattern-Matching verwenden
Überlegungen zu Annotationen und Enumerationen
Nullwerte oder Optionen verwenden
Exceptions und ihre Alternativen
Skalierbare Abstraktionen
Effektives Trait-Design
Entwurfsmuster
Bessere Designs durch Design by Contract
und Zusammenfassung Ausblick
Chapter 14 : Werkzeuge, Bibliotheken und Unterstützung durch IDEs
Befehlszeilenwerkzeuge
Build-Tools
Integration mit Entwicklungsumgebungen
Testgetriebene Entwicklung in Scala
Andere bemerkenswerte Scala-Bibliotheken und -Werkzeuge
Interoperabilität mit Java
Interoperabilität mit Java-Bibliotheken
und Zusammenfassung Ausblick
Appendix : Quellenverzeichnis
Glossar
Colophon
Відгуки про Programmieren mit Scala