Lisp, Functional Programming, and the State of Flow

I gave a talk at the recent Clojure-Conj called Lisp, Functional Programming, and the State of Flow.

I’ve posted the slides online here:

Slide image

The slides are a Heroku app made using showoff. Use the arrow keys or spacebar to navigate the slides.

This was my abstract for the talk:

Since the beginning of computer science, many programmers have been driven by a desire to feel a oneness with the essentially abstract processes on which they’re working. In no area has this been more pronounced than symbolic computation and AI. Hackers working through the night, night after night, to find that connection with information and abstraction were legendary from Cambridge to Palo Alto throughout the 60’s and 70’s and entered the mainstream consciousness in movies such as The Matrix in the Internet generation.

It should come as no surprise then that the ideas presented by Mihaly Csikszentmihalyi in Flow: The Psychology of Optimal Experience (and a very famous 2004 TED presentation) found an excited audience among the Hacker News crowd. Csikszentmihalyi describes (and validates) a condition that many of us have sought out and enjoyed for many years.

In this talk, we will explore how particular programming concepts, especially those found in Lisp and functional languages, seem to enhance the quality of flow we achieve while programming. Many Clojure programmers have described the enjoyment they find programming in Clojure. I want to investigate that and see why it’s important to work in a language that makes programming fun.