Charles’s recent post on pain caused by bugs and feature creep put me in mind of a conversation I once had with an architect. [For all us IT grunts: note that this was a real, designs-buildings architect, not a software architect.] This architect found that each line he drew on a blank page meant discarding thousands of possibilities. The start of the creative process filled him with a sense of loss.
Writing software is somewhat similar. When you sit down to a blank screen, your new program can do anything. Then, as soon as you type the first line of code, there are thousands of things your program can’t do. And there isn’t time to write each program that you could.
Why bother with all the pain? So that when the last line is drawn—or typed—you have a real thing, not just a bunch of ideas.
Comments
"Creativity is absolutely dependent upon boundaries."
http://everything2.org/index.pl?node_id=706464
"For a more classical reference, imagine writing in iambic pentameter for page on page, yet Shakespeare made some of the most beautiful lines in English under such constraint. "