Dysmey Post > Essays > Computing > If Programming Languages Were Religions

If Programming Languages Were Religions

On 17 December 2008, a certain Rodrigo Braz Monteiro wrote a blog entry comparing programming languages to religions, listing about a couple of dozen programming languages, matching each with a given religion and explaining why he thought the match was good. The entry made its way to Slashdot.

I agree with most of the analogies; and yet ….

❦ You can convert to C (I did) as some do convert to Judaism. And where's the comparison between K&R C (Orthodox) and ANSI C (Reform)?

❦ The ass-burning accusation, whether directed at Java or Fundamentalist Christianity, is a lying slander. Shame on the blogger for making that! He should just stick to the accusation of throwing away resources building humongous and wasteful constructs, which both are wont to do.

❦ Cafeteria Christianity for the mainline sects: I like that. It sounds as true as it is, especially when the traditional menu items are either no longer available or have their names slapped on totally different foods.

❦ One commenter associated Objective C, the NeXT/Apple version of C, with the Messianic Jews. I don't see the connect myself, but then I am more familiar with the Jews for Jesus than I am with Objective C.

❦ APL is worse than a prank: You spend a lot of time and resource to reach higher levels, upon which you expend more time and resource. Oh, and you have to believe things that most people would consider rot.

❦ Associating the scripting languages (Perl, Python, Ruby and Lua) with strange rites and weird practices is not the way to win friends and influence the decision to tar and feather you. Python users — associated with something that is basically the worship of one's image in the mirror — should be especially pissed.

❦ Visual Basic? Yeah, Bill Gates is the Dread One, and you do sell your soul for power on terms exceptionally unfavorable to you.

The list left out FORTRAN. So I put in my two nickles.

I actually wrote FORTRAN programs a long time ago. One of your repliers associated it with Greek polytheism. It's more accurate to associate FORTRAN with the worship of Cro-Magnons painting bison on cave walls to lure game to them during the hunt. It is analogous to what FORTRAN programs do, since if you are off by one column on one line, the bison don't show up.

Commenters have also made suggestions for other languages:

JavaScript is [Alcoholism] — the more you do it, the more it rots your brain as you realize that functions are objects, your prototypes are polluting namespaces, and you just can't seem to get any closure.

Alcoholism is not a faith — it is an addiction at best, an evil at worst. But the comparison is apt. It is a good thing that I try to avoid JavaScript: As a user of anti-diabetic drugs, I can't touch the stuff myself. But there are a lot of people in my work unit, who chug down the JavaScript bottle.

RPG would be Jehovah's Witnesses. RPG programmers are of the elite 144,000 left in the world (because there are only 144,000 left in the world) and believe we are in the last days of the present world and lots of people make fun of them for their beliefs and rigid standards.

Yeah, but the big difference between RPG programmers and Jehovah's Witnesses is that in RPG programming there are no Jonadabs — non-elite believers who win their way to Heaven by spreading the word door to door.

Powerbuilder is like radical Islam. Based on C++, but designed to be picked up easily by members without a true understanding of the tenants of the religion and generally not used to the effect that the original religion intended, usually with disastrous and lamentable results.

And don't forget that Powerbuilder is taught in special madāris.

Brilliant! Let me suggest that Groovy is Emergent Christianity: it comes from Java, but it's much hipper, its adherents look down on the Java followers they're still friends with, and they're a lot less concerned about putting things into such rigid categories. It's also low on ceremony and can easily modify itself as needed.

There is a problem with that analogy. Groovy is a scripting language on top of the Java virtual machine; but it is still basically Java. The closest analogy for Groovy would be the InterVarsity Christian Fellowship of the 1970's: It looked different but was still the same.

But Emergent Christianity, from what I understand of it, has little to separate it from Cafeteria Christianity except the fundamentalist trappings. It is like: I want to walk the narrow path and squeeze through the tight gate, but I want to be socially respectable, too. Jesus pointed out in various ways that this is impossible: When you walk the path that nobody else wants to walk, you will get hurt. So the analogy does not hold.

I guess Applescript would equate to New Age beliefs.

No, it wouldn't, as a user of Applescript myself. Here is more apt analogy, as I posted on that site.

I would assign Applescript an analogy to Shintō. It pervades everyday life on Mac OS X, has few requirements or taboos, has been around practically forever (it started life as Hypercard), and is easy to get your mind around. It also has Steve Jobs as its Amaterasu. The only problem: As Shintō is confined solely to Japan, so Applescript is confined solely to Mac OS X and is found nowhere else.

Even the native language for Adobe products and Hewlett-Packard printers makes its way into the discussion.

Postscript is like one of those weird native South American religions where you have to get completely mashed on psychoactive herbs to program in it and then spend the next two days solid vomiting.

Humm, that would make John Warnock the programming equivalent of the Hiaki shaman Don Juan Matus — except that John Warnock is a real person.

But enough of this. There are just as many flame wars over programmatic religion as there are among actual religions. This is so as long as the human race walks the Earth; and there will be no peace until there is no human race.

Written by Andy West on 18 December 2008.