If you’re familiar with functional programming basics and want to gain a much deeper understanding, this in-depth guide takes you beyond syntax and demonstrates how you need to think in a new way. Software architect Neal Ford shows intermediate to advanced developers how functional coding allows you to step back a level of abstraction so you can see your programming problem with greater clarity.
Each chapter shows you various examples of functional thinking, using numerous code examples from Java 8 and other JVM languages that include functional capabilities. This book may bend your mind, but you’ll come away with a much better grasp of functional programming concepts.
Understand why many imperative languages are adding functional capabilities
Compare functional and imperative solutions to common problems
Examine ways to cede control of routine chores to the runtime
Learn how memoization and laziness eliminate hand-crafted solutions
Explore functional approaches to design patterns and code reuse
View real-world examples of functional thinking with Java 8, and in functional architectures and web frameworks
Learn the pros and cons of living in a paradigmatically richer world
If you’re new to functional programming, check out Josh Backfield’s book Becoming Functional.