Lisp and Brain Neurochemistry

Lisp changes the way you think.

I could leave it at that, and this would be the world’s shortest blog entry.

Or, I could write a longish exposition, with code walk-throughs, of a recent experiment I’ve done with solving a programming puzzle using first the object-oriented way, then more of a data-first, functional way.

The former sounds too cryptic. The latter feels a bit complicated. (I’m the kind of person who loses interest in a problem once it has been solved). But, the lessons I’ve learned are priceless. They are a paradigm shift (tired as it sounds) in my ability to write programs and solve problems.

(The short story is that functional programming wins. I was using Ruby, a hybrid language that lets one emphasize either the OO way or the functional way in the scope of a problem. This is perhaps Ruby’s greatest strength: one can hybridize styles on the fly. But the experiment itself was inspired by my recent exposures to Clojure, Lisp, and Rich Hickey’s talks on Clojure, state, simplicity, and functional programming).

So, in the name of contributing with something constructive and not being a “knowledge sink”, here’s a version that strikes a middle ground. It’s a list of principles and observations written in a short, koan-type style. No in-depth explanations are given; no examples. Just sharp arrows pointing to the truth.

I'm morphing into a Lisp hacker. I'm shapeshifting. God help me.

PS. ;-)