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.
Functional
languages have their own patterns that enable you to
solve problems with less code than object-oriented
programming alone. This book introduces you, the
experienced Java programmer, to Scala and Clojure:
practical, production-quality languages that run on the
JVM and interoperate with existing Java. By using both
the statically typed, type-inferred Scala and the
dynamically typed, modern Lisp Clojure, you'll gain a
broad understanding of functional
programming.
For each pattern, you'll first see
the traditional object-oriented solution, and then dig
into the functional replacements in both Scala and
Clojure. These patterns are common in the functional
world and deserve to become part of your problem-solving
toolkit. 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.
Each pattern helps you solve
a common programming problem. Working through them gives
you a set of patterns you can use to solve problems you
come across while writing programs. Finally, you'll
learn how to work your existing Java code into new Scala
or Clojure projects. You can start off small, adding
functional code little by little, so you can complement
your existing knowledge with Scala and Clojure as these
languages gain popularity on the JVM.
What You
Need
Clojure 1.5 and Scala 2.10. Optionally,
Eclipse with plugins.
|
|