Paul Graham

Infogami Beta Tester

Why Writing is Harder than Programming

3 Oct 06

I spent most of this summer hacking a new version of Arc. That's why I haven't written any new essays lately. But I had to start writing again a few days ago because I have to give a talk at MIT tomorrow.

Switching back to writing has confirmed something I've always suspected: writing is harder than hacking. They're both hard to do well, but writing has an additonal element of panic that isn't there in hacking.

With hacking, you never have to worry how something is going to come out. Software doesn't "come out." If there's something you don't like, you change it. So programming has the same relaxing quality as building stuff out of Lego. You know you're going to win in the end. Succeeding is simply a matter of defining what winning is, and possibly spending a lot of time getting there. Those can be hard, but not frightening.

Whereas writing is like painting. You don't have the same total control over the medium. In fact, you probably wouldn't want it. When it's going well, painting from life is something you do in hardware. There are stretches where perception flows in through your eye and out through your hand, with no conscious intervention. If you tried to think consciously about each motion your hand was making, you'd just produce something stilted.

The result is that writing and painting have an ingredient that's missing in hacking and Lego: suspense. An essay can come out badly. Or at least, you worry it can.

I think good writers can push writing in the direction of Lego. As you get more willing to discard and rewrite stuff, you approach that feeling of total control you get with Lego and hacking. If there's something you don't like, you change it. At least, as I've gotten better at writing that's what's happened to me. I've become much more willing to throw stuff away.

But though you get closer to the calmness of hacking, you never get there. What a difference it is walking into the Square to get a cup of tea with a half-finished essay in my head, rather than a half-finished program. A half-finished program is a pleasing diversion-- a puzzle. A half-finished essay is mostly just a worry. What if you don't think of the other half?

It's possible that hacking is only easy because we have poor tools (and low expectations to match). Maybe if you had really powerful tools you'd tell a computer what to do in a way that was more like writing or painting. Lego, pleasing as it is, can't do what oil paint can. That would be an alarming variant of hundred year language: one that was as powerful and as frightening as prose. But that's exactly the sort of trick the future tends to play on you.