num_pages: 250
description: 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 youll gain a broad understanding of functional programming.For each pattern youll 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 youll see many common patterns such as Command Strategy and Null Object. On the functional side youll 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 youll 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.
language: English
title: Functional Programming Patterns in Scala and Clojure: Write Lean Programs for the JVM
publisher: The Pragmatic Programmers, LLC