Learning the syntax of a new language is easy, but learning to think under a different paradigm is hard. This session helps you transition from a Java writing imperative programmer to a functional programmer, using Java, Clojure and Scala for examples. This session 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. I take a variety of common practices in OOP languages and show the corresponding mechanisms in functional languages. Expect your mind to be bent, but you’ll leave with a much better understanding of both the syntax and semantics of functional languages.
Neal is Director, Software Architect, and Meme Wrangler
at ThoughtWorks, a software company and a community of
passionate, purpose-led individuals, who thinks disruptively to
deliver technology to address the toughest challenges, all while
seeking to revolutionize the IT industry and create positive social
change. He is an internationally recognized expert on software
development and delivery, especially in the intersection of agile
engineering techniques and software architecture. Neal has authored
magazine articles, seven books (and counting), dozens of video
presentations, and spoken at hundreds of developers conferences
worldwide. His topics include software architecture, continuous
delivery, functional programming, cutting edge software innovations, and includes a business-focused book and video on improving technical presentations. Check out his web site at nealford.com.