Book description
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.
Table of contents
- Functional Programming Patterns in Scala and Clojure
- For the Best Reading Experience...
- Table of Contents
- Early Praise for Functional Programming Patterns
- Acknowledgments
- Preface
- Chapter 1: Patterns and Functional Programming
- Chapter 2: TinyWeb: Patterns Working Together
-
Chapter 3: Replacing Object-Oriented Patterns
- Introduction
- Replacing Functional Interface
- Replacing State-Carrying Functional Interface
- Replacing Command
- Replacing Builder for Immutable Object
- Replacing Iterator
- Replacing Template Method
- Replacing Strategy
- Replacing Null Object
- Replacing Decorator
- Replacing Visitor
- Replacing Dependency Injection
- Chapter 4: Functional Patterns
- Chapter 5: The End
- Bibliography
Product information
- Title: Functional Programming Patterns in Scala and Clojure
- Author(s):
- Release date: October 2013
- Publisher(s): Pragmatic Bookshelf
- ISBN: 9781937785475
You might also like
book
Functional Programming in Scala
Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply …
video
Functional Programming in Scala video edition
"Leads to deep insights into the nature of computation." From the Foreword by Martin Odersky, Creator …
book
Scala Functional Programming Patterns
Grok and perform effective functional programming in Scala About This Book Understand functional programming patterns by …
book
Get Programming with Scala
The perfect starting point for your journey into Scala and functional programming. In Get Programming in …