If youre 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 youll come away with a much better grasp of functional programming concepts.Understand why many imperative languages are adding functional capabilitiesCompare functional and imperative solutions to common problemsExamine ways to cede control of routine chores to the runtimeLearn how memoization and laziness eliminate hand-crafted solutionsExplore functional approaches to design patterns and code reuseView real-world examples of functional thinking with Java 8, and in functional architectures and web frameworksLearn the pros and cons of living in a paradigmatically richer worldIf youre new to functional programming, check out Josh Backfields book Becoming Functional.