|Perl: the Markov chain saw|
Turning Off The Aesthetic Senseby chip (Curate)
|on Apr 25, 2003 at 14:39 UTC||Need Help??|
A long time ago in a galaxy far, far away -- well, OK, it was Florida -- I had a job that included coding in Informix 4GL. Now, Informix 4GL is not just bad. It's fricking ugly. It's a reporting system that only an Intercal programmer could love. ("Informix 4GL is not a 4G, and is barely an L." --Jon Tombs) But the task I had to accomplish was relatively simple, so I didn't expect trouble.
There was trouble.
I couldn't finish it. Every time I got started I stalled. Nothing seemed right. My boss, with whom I carpooled, was patient. Finally one evening as we were leaving work, I told him: "I figured out how to write 4GL." His reply was an immediate and heartfelt, "Thank God!"
What was the secret to writing code using a butt-ugly language? Turning off my aesthetic sense.
Usually I edit as I write: As I work, I continually look back and check over what I write for basic standards of beauty and balance; if I see ugly, I know I've missed something that I could have done better. But on that hot Florida day I figured out that some jobs are just too crufty, involve tools or interfaces that are just too ugly, or have specs so silly, that there's no apparent way to make a solution to be proud of. At times like that, the approach I endorse is:
So remember, when elegance is momentarily beyond your reach: There's more than one way to define "success".
-- Chip Salzenberg, Free-Floating Agent of Chaos