I?m only a few pages in so far on GK Chesterton?s Orthodoxy, but I?m already finding a lot of great insights. Chesterton makes no bones about it that he isn?t out to prove Christianity or anything, but just show what happened in his own life. But even by reading that there are a lot of insights to find.
Chesterton begins by talking about insanity, and makes the point of saying that the insane are the folks that are not the ones that have not lost their reason, but are the ones that have abandoned everything to reason and have no imagination whatsoever.
One particular metaphor really struck a chord with me:
The general fact is simple. Poetry is sane because it floats easily in an infinite sea; reason seeks to cross the infinite sea, and so make it finite. The result is mental exhaustion, like the physical exhaustion of Mr. Holbein. To accept everything is an exercise, to understand everything a strain. The poet only desires exaltation and expansion, a world to stretch himself in. The poet only asks to get his head into the heavens. It is the logician who seeks to get the heavens into his head. And it his head that splits.
The analogy of the sea I find rather interesting. It isn?t that by floating on the sea that we?re not thinking or being rational, it is that we acknowledge that trying to chart the whole thing out is a futile attempt and detrimental to our own well being.
Now how does this apply to code? By means of a loose analogy (I wouldn?t have been so loose with an analogy up to this point, so I think Chesterton is already doing a good work in me 8^D) the way I often work with an application that I?m debugging or taking over is to get to know the ?character? or the ?feel? of the program before I even bother with the code. Even when I?m debugging code, I?ll often step over lots of methods just to see how the program ?reacts? to a given situation or piece of data and work from there. Once I have seen how the program behaves, I can then figure out where things might have gone wrong and begin to dig deeper into the code itself at a particular spot.
I consider this ?floating? in the application. If the first thing I did was to simply read all the source code, and thus try to map the application, I?d probably go insane. I?m incapable of retaining that kind of knowledge, not to mention the fact that I would have to do this with the dozen or so applications I maintain to some degree at work. Doing this allows me to enjoy the application more for what it is as a whole, but also enjoy the application in its specific nuances, as I journey over to this method or that and examine it.
Again, I?ll admit its a loose analogy, but oddly enough it seems to fit in my odd way of thinking (remember, I am fluent in weirdo). While Chesterton is making his point to talk about the macrocosm of things like truth, I see it also pertaining to the microcosm of my small world of writing code.