Video description
Learning the syntax of a new language is easy, but learning to think under a different paradigm is difficult. This video 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 using 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. This video is ideal for any experienced programmer.
Topics include:
- Shifting Paradigms: Filter, map, reduce
- Ceding control: Currying and partial application; recursion
- Evolution: Memoization; closures
- Nailgun-driven development: Concurrency, Function composition, coupling vs. composition, functional data structures, monads
- Bendability: Dispatch, meta-programming, DSLs, macros
- Why you should care
Publisher resources
Product information
- Title: Functional Thinking
- Author(s):
- Release date: April 2013
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 0636920030416
You might also like
video
Design Patterns in the Real World, an Analysis-Based Approach
Alan Holub takes coders deep into the reality of Gang-of-Four design patterns, those reusable guides to …
video
Design Patterns (Clean Coders Video Series)
Overview Get ready for something very different. This ain't no screen cast. This ain't no talkin' …
book
Head First Design Patterns, 2nd Edition
You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …
book
Software Engineering at Google
Today, software engineers need to know not only how to program effectively but also how to …