Friday, February 10, 2006

Zen and the Art of Using a Computer

I've recently had cause to use and learn several new applications and programming languages that I had not previously been exposed to. As is typically the case, some of these systems "feel" right to me (Ruby, Backpack and GMail, for example), and some just don't resonate (PHP, STAF/STAX and urpmi, for example). I'm not trying to denigrate this latter set -- each serves a useful purpose for thousands (in PHP's case, millions) of people every day.

The problem here is Zen. All of my past experiences have shaped my mind so that I think about the world in a certain way. When faced with a new situation, my brain immediately starts matching it against these entrenched paradigms and patterns so I can select an appropriate response. Thus when I design/write new software, my zen dictates how I address not only the large issues that invariably arise, but the myriad of smaller choices as well. When it's finished, the software is as much a reflection of me and my own thought process (my "zen") as it is a reflection of the original requirements.

Taking the next step, I postulate that the software that feels right to me was written by folks with a zen simliar to my own. That is, their minds approach and solve problems similar to the way my mind does. Stuff that rubs me the wrong way, conversely, was most likely written by folks whose minds work very differently than mine.

While it may be true that on the Internet no one can tell you're a dog, I suspect we're never going all like the same dog food.


Post a Comment

Subscribe to Post Comments [Atom]

<< Home