Functional Programming Patterns in Scala and Clojure : Write Lean Programs for the Jvm - Michael Bevilacqua-Linn

Functional Programming Patterns in Scala and Clojure

Write Lean Programs for the Jvm

By: Michael Bevilacqua-Linn

Paperback | 12 November 2013

At a Glance

Paperback


RRP $68.50

$32.50

53%OFF

or 4 interest-free payments of $8.13 with

 or 
In Stock and Aims to ship in 1-2 business days

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.

Industry Reviews

""This book is an absolute gem and should be required reading for anybody looking to transition from OO to FP. It is an extremely well-built safety rope for those crossing the bridge between two very different worlds. Consider this mandatory reading.""--Colin Yates, technical team leader QFI Consulting, LLP

""This book sticks to the meat and potatoes of what functional programming can do for the object-oriented JVM programmer. The functional patterns are sectioned in the back of the book separate from the functional replacements of the object-oriented patterns, making the book handy reference material. As a Scala programmer, I even picked up some new tricks along the read.""--Justin James, developer, Full Stack Apps

""This book is good for those who have dabbled a bit in Clojure or Scala but are not really comfortable with it; the ideal audience is seasoned OO programmers looking to adopt a functional style, as it gives those programmers a guide for transitioning away from the patterns they are comfortable with.""--Rod Hilton, Java developer and PhD candidate at the University of Colorado

More in Programming & Scripting Languages

Python All-in-One For Dummies : 3rd Edition - John C. Shovic

RRP $74.95

$50.35

33%
OFF
C++ How to Program, Global Edition : 11th Edition - Paul Deitel

RRP $161.17

$129.75

19%
OFF
Modern PHP : New Features and Good Practices - Josh Lockhart

RRP $57.00

$28.25

50%
OFF
Learning Agile : Understanding Scrum, XP, Lean, and Kanban - Andrew Stellman
Definitive ANTLR 4 Reference : 2nd Edition - Terence Parr

RRP $70.35

$33.25

53%
OFF
Fluent C : Principles, Practices, and Patterns - Christopher Preschern

RRP $125.50

$55.25

56%
OFF
Command-Line Rust : A Project-Based Primer for Writing Rust CLIs - Ken Youens Clark
JavaScript Cookbook : Programming the Web 3rd Edition - Adam Scott