Hackers and Painters

Paul Graham, one of my favorite loquatious Lisp hackers, has written a great essay comparing software design and painting. His thesis is that as an art of making things, software design is really more like painting or architecture than engineering or science. One of the many implications of this view that he explores is choice of programming languages for software design:

A programming language is for thinking of programs, not for expressing programs you’ve already thought of. It should be a pencil, not a pen. Static typing would be a fine idea if people actually did write programs the way they taught me to in college. But that’s not how any of the hackers I know write programs. We need a language that lets us scribble and smudge and smear, not a language where you have to sit with a teacup of types balanced on your knee and make polite conversation with a strict old aunt of a compiler.

Lisp, of course, is like this, and so is Python.

The essay touches covers many other facets of software design, and it resonated strongly with me. Check it out.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: