Books

Books : reviews

Michael Bevilacqua-Linn.
Functional Programming Pattern in Scala and Clojure: write lean programs for the JVM.
Pragmatic Programmers. 2013

Solve real-life programming problems with a fraction of the code that pure object-oriented programming requires. Use Scala and Clojure to solve in-depth problems with two sets of patterns: object-oriented patterns that become more concise with functional programming, and natively functional patterns. Your code will be more declarative, with fewer bugs and lower maintenance costs.

For each pattern, you’ll first see the traditional object-oriented solution, and then dig into the functional replacements in both Scala and Clojure. Each pattern helps you solve a common programming problem. On the object-oriented side, you’ll see many common patterns, such as Command, Strategy, and Null Object. On the functional side, you‘ll learn core functional patterns such as Memoization, Lazy Sequence, and Tail Recursion.

You can start off small, adding functional code little by little, so you can complement your existing knowledge with Scala and Clojure.