If you want to take advantage of functional programming features in Java and other languages, 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 good 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