Don't solve all problems that could possibly be... tonight... (Or puzzles that open doorways to hell...)

I'm not in hell at this point in the day, which I attribute to reigning in my natural impulse to solve all problems.

You see, at heart I'm a philosopher/theorist. I am happiest when I am searching for the grand patterns in life, the ones that explain everything. That's a great trait when you're trying to explain design theory, or politics, or human nature. It's even useful when you're writing software libraries/frameworks that are intended to be flexible and general.

It's the kiss of death (or hell) for applications programmers. When you're trying to solve just one particular problem, solving all problems is not an efficient way to go about it.

This is, perhaps, why I'm not as wildly enthusiastic about Extreme Programming as some others. Part of the philosophy of Extreme Programming involves avoiding the "big" questions (save for some throwaway verbiage about having a "model") and simply solving all the little problems that creep up day-to-day and trying to keep the code-house in order via refactoring.

If you don't really care about the big questions, and just want the code to do some particular thing, this is a very efficient and effective way to produce it. But I still hunger for the answers to the big questions.

However, as mentioned above, the search for the big questions isn't particularly useful when doing applications programming. It's particularly unsuited to "messy" areas of development, such as UI design. Actually, let me qualify that, until someone finds the big answers (which for the messy areas is a highly non-trivial task, not likely to be completed within the next year or two) it's not useful, then it becomes the core of every developer's process. That is, the search is fundamental research, and like all fundamental research, it pays off only after the discoveries are made, and generally only across a very long time-frame... far longer than most application-programming projects will last.

So, for tonight, I reign in my impulse to parse the infinite and avoid the doors of hell... yet still I hunger to turn those knobs...


Comments are closed.


Pingbacks are closed.