Many developers aspire to use functional programming, either directly in a functional language or by adopting a more functional style in hybrid and non-functional languages. There are many benefits to a functional approach, but there also many cases where day-to-day programming habits are contrary to functional thinking or where language constructs are at odds with the functional paradigm. This talk explores non-functional practices that developers may not realise they are using and, in a number of languages, shows how to express them in a more functional way.
Kevlin Henney is an independent consultant, speaker, writer and trainer. His development interests are in programming, people and practice. He has been a columnist for a number of magazines and sites, has contributed to both open- and closed-source software (sometimes unintentionally), and has been on far too many committees (it has been said that "a committee is a cul-de-sac down which ideas are lured and then quietly strangled"). He is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of 97 Things Every Programmer Should Know and co-editor of 97 Things Every Java Programmer Should Know.