This video shows you how to transition from a Java writing imperative programmer to a functional programmer, using Java, Clojure and Scala for examples. It takes common topics from imperative languages and looks at alternative ways of solving those problems in functional languages.
As a Java developer, you know how to achieve code-reuse via mechanisms like inheritance and polymorphism. Code reuse is possible in functional languages as well, using high-order functions, composition, and multi-methods. Expect your mind to be bent, but you’ll leave with a much better understanding of both the syntax and semantics of functional languages.
Video Producer: JavaZone Conference