programming: n.

1. The art of debugging a blank sheet of paper (or, in these days of on-line editing, the art of debugging an empty file). “Bloody instructions which, being taught, return to plague their inventor” (Macbeth, Act 1, Scene 7)

2. A pastime similar to banging one's head against a wall, but with fewer opportunities for reward.

3. The most fun you can have with your clothes on.

4. The least fun you can have with your clothes off.