Adam Tornhill

Adam Tornhill

Adam Tornhill



Adam Tornhill is a programmer who combines degrees in engineering and psychology. He’s the founder and CTO of Empear, where he designs tools for software analysis. He’s also the author of Your Code as a Crime Scene, has written the popular Lisp for the Web tutorial, and self-published a book on patterns in C. Adam’s other interests include modern history, music, and martial arts.

Session: Functional Programming in Production

Functional Programming is sold as a silver bullet. Yet most organisations lack real-world experience with the paradigm. It’s hard to adopt functional programming too since most examples show isolated code snippets; It’s not clear how those pieces would fit together to form a system, a functional architecture. A real-world system also has to deal with non-functional side effects and the rapid feature growth of an evolving product. So how well does functional programming work in practice? What happens when you bet your company on a functional programming language? Will the hype transfer into productivity gains and cheaper maintenance?

In this presentation Adam shares his experience of building a large production system written in Clojure. You’ll learn about the advantages of functional programming when it comes to maintenance and how functional programming scales in cognitive terms. We’ll also discuss some architectural styles that fit well with a functional paradigm and learn why TDD has a diminishing return once you go functional. Finally you’ll learn about some pitfalls that are unique to functional programming. You don’t have to know Clojure to follow along – most ideas apply to any language – but a basic understanding of the functional paradigm is helpful. So come along and we’ll put the fun back into programming!

Level: Intermediate/Advanced