Synopses & Reviews
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 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 youre new to functional programming, check out Josh Backfields book Becoming Functional.
Learning the syntax of a new language is easy, but learning to think under a different paradigm is difficult. This practical guide from renowned software architect Neal Ford helps you transition from a Java-writing imperative programmer to a functional programmer, using Java, Clojure, and Scala as examples.
Rather than focus on specific language features, Functional Thinking looks at a variety of common practices in OOP languages and then shows you how to solve the same problems with a functional language. For instance, you know how to achieve code-reuse in Java via mechanisms such as inheritance and polymorphism. Code reuse is also possible in functional languages, using high-order functions, composition, and multi-methods.
Ford encourages you to value results over steps, so you can begin to think like a functional programmer. Expect your mind to be bent, but youll finish with a much better understanding of both the syntax and semantics of functional languages.
About the Author
Neal is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a global IT consultancy with an exclusive focus on end-to-end software development and delivery. Before joining ThoughtWorks, Neal was the Chief Technology Officer at The DSW Group, Ltd., a nationally recognized training and development firm.