There are many theories about what makes poetry beautiful. One of the more general theories is about rearranging a normally-spoken sentence. The character Yoda, from Star Wars, is an excellent example of this technique. He says, "Away put your weapon.", which, if spoken plainly, would be "Put your weapon away.". Your mind rearranges the words to arrive at the meaning of the sentence. This rearranging produces the sense of poetry in the sentence.
I enjoy programming. Programming, to me, feels the same as drawing art, or composing music. This is why I excel at it. A person who sees programming as a task they must do, will typically just do the minimum required to get the program functioning. The code may be ugly or sloppy and vu won't care. Programming is extremely tedious, and a person who sees programming as only a task, will quickly become burnt out on it. My enjoyment during programming increases as I develop skill with it.
I have known of this effect for a long time. I have often had to learn a task that I wasn't excited about. I turn the tide by learning the task far better than is necessary, by mastering it. This confuses other people. They don't understand why I am so gung-ho about things that other people don't think twice about. I do it to enrich my day-to-day experience, by converting bland tasks into poetic ones.
The problem with doing something because it feels artful is that you may come to enjoy the task in a way that doesn't assure its functionality. Most mathematicians are a good example of this. A mathematician typically enjoys mathematically terse statements and proofs. But for many reasons, these statements and proofs are the least useful to a person learning them or expanding on them.
The solution to this is to include usefulness and effectiveness as part of the rules of your art. For me, this meant producing code that not only looks beautiful, but simultaneously is functional in various ways. This is a far more complex and difficult task than simply formatting code.
A person's artistic appreciation for a task and their skill with it should develop concurrently. This means that a novice who appreciates a task in a degenerate way isn't necessarily on a bad path. Just assure that the appreciation becomes more sophisticated over time.
When you meet a person at task, discern clearly whether the person is doing the task as a matter of art, or as a matter of requirement. A person who sees the task as art and a person who sees the task as requirement will not interact well on that task.
A person who has come to feel a task as art will not typically not like to do rough drafts, or prototypes. However, this problem can be alleviated if the person begins to see the interaction between the prototype and the final version of a task. Visually, the person simply must extend the sphere of the artistic task.
John LeFlohic February 17, 2002 Last Updated March 4, 2010