Scala for the impatient

scala Scala for the impatient
Cay Horstmann
Addison-Wesley Professional
März 20124star

Für den Einstieg in die funktionale Programmierung und als Syntax-Referenz ein ideales Buch. Speziell für Java-Entwickler, die sich in Scala einarbeiten wollen, annähernd barrierefrei. Was ihm etwas fehlt ist das Big Picture, also warum man letztlich FP anwenden und wie man mit Scala größere Anwendungen aufbauen könnte. Als Ergänzung bietet sich deshalb etwa Functional Programming in Scala an.

Functional Programming in Scala

Functional Programming in Scala Functional Programming in Scala
Paul Chiusano, Rúnar Bjarnason
Manning Publications
September 2014
5star

Vor einigen Jahren habe ich schon einmal einen Anlauf in funktionaler Programmierung genommen und dann aber abgebrochen. Obwohl ich dieses Paradigma damals für hochinteressant gehalten habe, schien es mir doch letztlich “zu abstrakt und mathematisch” zu sein, als dass sich eine Einarbeitung lohnen würde. Bekanntlich ist alles knapp im Leben, vor allem Zeit und die intellektuellen Ressourcen im Oberstübchen. Einen breiten Durchbruch habe ich der Technologie nicht zugetraut.

Das scheint sich jetzt aber zu ändern. Bei den Big Data-Leuten ist es schon jetzt ein wichtiges Hilfsmittel, “map and reduce” sind quasi reine funktionale Konzepte. Aber auch im Microservice-Umfeld, wo i.d.R. ein begrenztes Feature-Set ohne großes Objektmodell umgesetzt wird, sehe ich Anwendungsmöglichkeiten.

Ich habe mir deswegen zwei Wochen frei geschaufelt und mich ausschließlich mit Scala beschäftigt. Die Zeit ist auch dann notwendig, wenn man bereits funktionale Konzepte wie Closures und Lambdas aus anderen Sprachen wie Groovy oder C#/LINQ kennt. Es kommen in Scala doch eine ganze Reihe neuer Konzepte und Typen hinzu, die alle ausprobiert werden müssen.

Das Buch ist als Einstieg in Scala aus meiner Sicht ungeeignet, obwohl es im Einleitungstext durchaus so deklariert wird. Es kommt hier wirklich Schlag auf Schlag. Es taucht schon mal in einem Absatz ein wichtiges FP-Konzept, haufenweise neue Scala Syntax und noch schnell ein Vergleich mit Java auf. Das war mir zu verwirrend und ich habe mir zuerst Scala for the impatient zu Gemüte geführt, das im Vergleich zu diesem Buch ein stumpfes Syntax-Erklären bietet. Mit der Vorbereitung aber ist das Buch dann sehr gut zu lesen und unverzichtbar, da erst hier das “Big Picture” aufscheint, Patterns und Idiome erklärt und konkrete Anwendungsmöglichkeiten aufgezeigt werden. Ich hatte jedenfalls etliche Aha-Erlebnisse und bin jetzt offiziell ein Scala-Fan.