Thursday, October 18, 2007

"How (and Why) a Libertarian Came Home to PHP"

Now, for those few of you who have followed my pontifications on this blog, you will note three striking characteristics of my demeanor and philosophy of life. First and foremost, I add entries to my blog with that sort of capriciousness which only befits my otherwise ADD-riddled life. However, in the realm of philosophical considerations, you will have noticed that my mental landscape is dominated by two forces which most would think are intrinsically inimical to each other. Namely, I take a pontifical tone and stance on many issues because of my passionate adherence to the philosophical religion known to the world (with varied degrees of disdain and adulation) as Roman Catholicism. However, my cognitive paths are also shot throughout with steams of libertarianism, a fact which I do not find inimical to my convictions as a Catholic. (It only takes a brief reading of the Declaration Dignitatis Humanae from the Second Vatican Council to realize that there are intellectually justifiable reasons for holding both of these views.) Nonetheless, there are times when the vying forces of absolutism and liberalism come into direct contact, unleashing something of a quandry which can, even over the most ridiculous of topics, throw me into an existential crisis.

My friends, such a crisis came to full head in a late, lustful little fling which I had with the programming language known as Ruby. In my past experiences with Ruby, limited that they were, I perceived something of an elegant fluidity to the constructs of the language (as well as the libraries available for my delectation). For some unknown reason, my first, pubescent glance at this language in college gave me something of an unknown giddiness which made me desire for some time to delve deeper. However, my path took me down the road to free-wheeling LAMP-stack development using PHP as the interface to the database persistence.

Having moved to Virginia several months ago and knowing very few people in the area, I have had quite a bit of time to indulge my personal pleasures of the flesh - reading and programming. (Yes, I am quite aware that I am a pitiable nerd but am also proud of said fact.) In a moment of overwhelming temptation, I decided finally to jump into Ruby and Ruby on the Rails Framework like so many other programmers now-a-days. Having spent the previous two years doing quite a bit of work in PHP and Javascript, I was much better prepared for the intricacies and wonders which one can do with ease in dynamic scripting languages. My new excursion into the land of Ruby was indeed one of bliss-filled, exuberant wonder. At first the language dazzled me with its consistency, its object orientation, and the particular beauty (and ease) of passing around code blocks. Although my experience with Javascript had exposed me to this, I had always found the dynamic code execution of PHP to be a bit clunky-feeling (albeit wholly possible) at best. The Rails framework aside, the language in its core was all that I dreamed it could be. After having contemplated the very Forms of programming, I seemed to look back at PHP as though it were in the cave of my limited vision, thinking, "Well, PHP does have great libraries and documentation, but the sheer beauty of this experience seems to belie that you purchase such ease to the detriment of the higher parts of your soul."

However, it was at this moment of exhilaration that I realized that I could not turn my back on my beloved PHP with such an effete, snobbish tone. The very fact that PHP allowed me to sink into the depths of terrible practices with ease unknown to much of mankind (except those gladly in touch with the lower-bowels of the coding world) could never be a justification for my abandonment of the language. To do so would break a cardinal rule of my Libertarian nature, mainly that you cannot dismiss anything on the pretext of its potential abuse.

In many ways, Ruby is the aristocratic, successful, yet-lovable cousin of PHP. "He" speaks with the eloquence of the highest degree yet also remains wholly accessible to the mind which is open and bright enough to comprehend the elegant parts of his speech. He is consistent almost to a fault, following proper procedure and etiquette for all sorts of situations. PHP, on the other hand, is quite a bit more in character like me. "He" comes from the hills of southwestern Pennsylvania, wears checkered shirts, and drives a simple little Chevy Cavalier. If he desires, he can be intellectual in his speech, although he often wishes he could permanently slip into a nearly-unintelligible accent and jungle of provincial colloquialisms. Often he slaps things together, like a cowboy or an ADD-ridden child, writing out code which creates the most cryptic of mazes which baffles even him to his very core when attempting to recall the purpose of his exploits at a later time. However, there will never come a moment that he will say, "I can't do that because it just doesn't make sense to do it that way" or (more likely) "that doesn't follow convention, so I won't even attempt to do it that way." Instead, PHP will look you in the eye respond with lilting voice, "Ah, Hell, let's give 'er a try." Often these escapades end with the participants looking backward and reflecting, "Boy, that's uglier than sin sweating from a hog's back." However, once in a while, these exploits allow for the expansion of technique and the formation of new practices for the community at large. Once in a while, a dazzling gem comes forth wholly unseen from the vantage point of more conservative realms of coding which are highly predictable and efficient but often blinded to the latent power of the utterly unbridled human spirit.

Perhaps I just sound like a crazy wind-bag who has taken by far too much time to elaborate on the most meager of his thoughts. Nevertheless, this very reflection touches on one of my deepest-set philosophical convictions. I love the elegance of doing this within the conservative "frameworks" of well-tested conventions like those found in the Ruby (particularly on Rails) community as well as (to the N! ^ N! degree higher) in the Java community. However, in my heart of hearts, I'm a boy of the hills of Pennsylvania and a Libertarian American at heart. I look at both the provincial founders of our country whose brilliance lifted the yokes from our necks with the simple message which could easily have sounded like nothing more than the angry tirade of a yokel defending his farmland to ears less trained in liberalism. I will study Ruby, just as any good philosopher studies all philosophical systems, for where the Truth is, it is uttered by the One Spirit of God. Each reflection of the Gem of Truth expands our mind a bit more, teaching us anew how to see the whole in light of the parts and the parts in light of the whole. However, I will always remain, at heart, a yokel of a PHP coder.


No comments: