New book - The Joy of Clojure, by Fogus and Houser
A departure from literature: the Clojure programming language.
I'm used to 'imperative' programming: do this, then change this, then do that. I have spent countless hours thinking like this. I make a trail of demands, and hit go and watch as if I would watch a ball bounce from the floor, having long forgotten that the fundamental law of imperative programming is sequence, like that of the ball is gravity.
The fundamental law of Clojure is not sequences of demands. Clojure is a 'functional' programming language: read this and do what is says; read that and do what it says. A series of self-enclosed demands that take something in a put something out.
Imperative programming is like a production line, functional programming is like a 3D printer.