PublishedO'Reilly & Assoc, April 2014 |
ISBN9781449365516 |
FormatSoftcover, 325 pages |
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 you'll finish with a much better understanding of both the syntax and semantics of functional languages.