Tuesday, December 16, 2008


It has come to my attention recently how so many parallels can be drawn between two seemingly disparate things. Take, for example, a programming language and a religion. It seems to me that my favorite language of all time, Perl, and my personal Christian beliefs actually have a lot in common, and not just because Larry Wall, Perl's founder, is a professed Christian.

The most obvious common thread between Perl and Christianity that I can see is how misunderstood they are by the general public. I have encountered much undue resistance to both subjects, mostly by people who've had little to no personal experience with them. I've heard from multiple people how difficult and impossible Perl is; they claim that it's a write-only language and utterly indecipherable. I've also heard similar stigmatizations about Christianity, with all it's rules, regulations, prohibitions, and the like.

What I believe people don't see, however, is that, like Perl, Christianity only appears complicated and complex on the outside. When you really delve into it and find out what the core essence of it is, it's actually simple, beautiful, and elegant. Perl's syntactical structure can be a bit unwieldy for a novice-I grant that-but the more time you spend with it, the more you begin to understand not only how simple solutions are but also how powerful of a language it can be.

And powerful it is. This may be a tad bit of a stretch, but I also claim another similarity between Perl and Christianity is their usefulness, or perhaps practicality. Perl can often be used for "quick and dirty" applications to solve simple problems, or it can be managed in heaping portions to drive complex application behavior. Christianity, too, is perhaps the most practical religion out there. Neverminding the people who "do it wrong"TM (which I'm getting to), the core ideas behind Jesus' teachings are to love God first, then love your neighbor. And his entire life, including everything else in the New Testament, teaches us exactly what it means to love. Besides the Gospel message, that's Christianity in a nutshell. Sure I'm biased, but I think that's pretty practical for everyday living, if you "do it right"TM!

And then of course you have the people who "do it wrong"TM. These are the people who don't comment their code, who use as many ridiculous shortcuts as possible and obfuscate their code beyond recognition, who don't conform to any reasonable programming style, who tip horribly on Sundays, who preach at people without practicing the love of God, who impose Christianity as nothing more than a big list of dos and don'ts, who are so obtuse and blinded that they reject and ignore any current scientific fact because their stupid stubborn nature can't comprehend two different facets of God's creation at once. These people ruin the image of what it's supposed to be about. And I fear that both Perl's and Christianity's images are ruined, perhaps irreparably, by people claiming to be on the inside but who just don't get it.</rant>

...one last humorous comment. Despite my trivial attempts at trying to blend my vision of Perl and Christianity, there's one glaring nonconformity I found. One of Perl's mottos is "There's more than one way to do it", abbreviated TMTOWTDI for short; and this is so true. In Perl, there are hundreds of different ways of envisioning solutions to the same problem, and depending on your background and style, any one of these ways is just as valid as any other. Of course, the Christian message is completely backwards: Jesus said, "I am the way and the truth and the life. No one comes to the Father except through me." There is, clearly, only one way to do it (TOOWTDI).


Hannah Rose said...

In a similar, but not so deeply theological, vein, this made me think of you: http://xkcd.com/519/

denaje said...

I saw that today and I LOLed a bunch. It is so true!

Jeremy Erickson said...

Excellent post! I had never thought of that analogy before.