I found this list via Slashdot and here is a sample.
C would be Judaism – it’s old and restrictive, but most of the world is familiar with its laws and respects them. The catch is, you can’t convert into it – you’re either into it from the start, or you will think that it’s insanity. Also, when things go wrong, many people are willing to blame the problems of the world on it.
Java would be Fundamentalist Christianity – it’s theoretically based on C, but it voids so many of the old laws that it doesn’t feel like the original at all. Instead, it adds its own set of rigid rules, which its followers believe to be far superior to the original. Not only are they certain that it’s the best language in the world, but they’re willing to burn those who disagree at the stake.
PHP would be Cafeteria Christianity – Fights with Java for the web market. It draws a few concepts from C and Java, but only those that it really likes. Maybe it’s not as coherent as other languages, but at least it leaves you with much more freedom and ostensibly keeps the core idea of the whole thing. Also, the whole concept of "goto hell" was abandoned.
C++ would be Islam – It takes C and not only keeps all its laws, but adds a very complex new set of laws on top of it. It’s so versatile that it can be used to be the foundation of anything, from great atrocities to beautiful works of art. Its followers are convinced that it is the ultimate universal language, and may be angered by those who disagree. Also, if you insult it or its founder, you’ll probably be threatened with death by more radical followers.
C# would be Mormonism – At first glance, it’s the same as Java, but at a closer look you realize that it’s controlled by a single corporation (which many Java followers believe to be evil), and that many theological concepts are quite different. You suspect that it’d probably be nice, if only all the followers of Java wouldn’t discriminate so much against you for following it.
Perl would be Voodoo – An incomprehensible series of arcane incantations that involve the blood of goats and permanently corrupt your soul. Often used when your boss requires you to do an urgent task at 21:00 on Friday night.
Fairly funny list, though Perl was written by a Christian and taken from a biblical reference to the "Pearl of great price" so Voodoo isn’t quite fair.
Strangely though their was no language referenced for the Catholic Church. I guess it would be pretty hard to link the Church to one specific language. As someone who writes code for a living this question though is write up my alley. Besides the episcopal jurisdiction of the Bishop of Rome is the head of the Holy C.
At first thought I would think Pascal could be it since it is named after French mathematician and philosopher Blaise Pascal who was certainly a believing Catholic who wrote the great theological work the Pensées. Pacal has strong typing and I do like a dogmatically typed language where an object stays that type of object without explicit conversion. Begin and end keywords reminds me of the Alpha and Omega. Pascal just does not go far enough to resemble the Church.
Now a programming language that reflected the Catholic Church would be a cross between Basic and machine language. Basic gives it the James Joyce ‘here comes everybody’ aspect and machine language would give it the direct access to God that we have through the Eucharist. The Catholic Church can nourish anybody from the humblest peasant to the most brilliant theologian. Like most languages an interpreter is required for compiled code. In computing if you don’t have a valid interpreter/compiler the code you write will end up either doing nothing or not what you intended. The teaching magisterium of the Church gives us that interpreter in real life. A good interpreter/compiler also has lots of error checking. On our own we are often prone to errors and so being informed of our errors is to our good to ensure that we write valid code. Often we think we are writing valid code only to find that when we go to build it something is not exactly right. You can’t just tell the interpreter/compiler you are sorry for writing bad code, you have to repent of your coding error and fix it.
Now what would we call a programming language similar to the Catholic Church? How about C†† (pronounced C Cross Cross). Like St. Paul the Church teaches Christ crucified and the cross is never missing from our lives. The C of course stands for Catholic and the universal binary that the code produces. The universal binary is of course accessible by all operating systems. Though while we see the good that is common to many programming languages we hope that all will come to accept the fullness of C††. As programmers we don’t want to be triumphalists, but to help to spread the good code to every nation.
The basics of the language C†† would be fixed. Though interfaces can be later added on that help to access the underlying language. The code structures would be based both on apostolic programming tradition and the reference book. The compiler also known as the magisterium would rely on the CDF (Coding for the Doctrine of the Flow) to ensure wayward code was corrected and brought back into fullness of the code specification. When bad code is detected the compiler would throw an anathema.
C†† would certainly be strongly typed. An object created yesterday or even a thousand years ago would remain exactly the same object today. Though this does not mean that we can not understand an object more deeply over time, only that an integer value will not become a string just because it is currently fashionable in the culture for this to be true. What is set to a state of true today remains true tomorrow. For example this is how you would set a true and a false value in C††.
boolean item = dogma;
boolean item2 = heresy;
Other keywords include Fashion (which can hold any value, but is not used for anything serious), Absolute (which holds one constant value that never changes), Discipline (value can change over time based on a prudential decision), Hierarchy (An ordered data structure).
Multiple coding styles known as rites can be used to write the code. These rites though will all compile to exactly the same code whether using an Eastern or Western style. Some traditional programmers prefer to only program in Latin, but you can choose a vernacular language as long as you don’t use and edition approved by ICEL in the seventies which does not give the full nuances of the keywords.
The reference for C†† would be maintained by the Vaticode. The head programmer/maintainer at the Vaticode is called His Geekiness and he has final say on the language definition and its interpretation. The Vicar of Code is infallible only when speaking on code and compilers. The Nerds in union with His Geekiness are the authentic teachers of the language. New definitions can be added to the language that conform to the reference and apostolic programmers. Sometimes a movement among programmers (geekus fidelum) can lead to the Vaticode adding a new definition.
Here is a sample "Hello World" program in C††
faith()
{
works()
{
print(“Let there be light”);
}
}
After all "Let there be light" was the original Hello World program by the Divine Programmer. Every C†† requires a "faith" method which is the main entry point to the program. Remember faith() without works() and your code is dead.
If only there was a programming language like the Catholic Church. Right now there are so many denominations of programming languages that keep splitting. Like C+ going into schism from C and then C++ going into schism from C+. I pray that there be but one language.
24 comments
I’m surprised you didn’t come to the same conclusion I did: the programming language that most resembles the Catholic Church is binary. Infinitely simple (1 and 0, how much simpler can you get?) yet able to express infinitely complex realities.
Awesome, and classic. I am keeping this post around to look at again and again for years to come 😀
To me (an engineer and attorney), this is the funnest post you have ever made. Great work.
Finally! Someone who agrees with me about block brace code style! I cannot count the number of arguments I’ve had about the wrongness of
f() {
blah;
}
I don’t know what half the other comments are about but I will say this was very clever! The minute binary gets mentioned I recall my math anxiety tapes from eighth grade.
As an advocate and 10+ year user of Perl, I’m outraged that it’s associated with voodoo!
Who here honestly can’t understand what this code is trying to do:
(1x$_)!~/^(?:1|(11+?)\1+)$/&&print while <>
(The answer is: it curses the firstborn of your enemy.)
One of the best posts ever!
But as a PHP programmer, I’m a little nonplussed about associating my favorite language with “Cafeteria Christianity.” I might have to rethink my programming options!
I loved the connection between Java and fundamentalism. I can’t count how many times I’ve been harangued by a Java programmer for using PHP (and by fundamentalists for being Catholic!).
Brilliant! (I’m a DBA and understood most of it)
I’d hate to imagine what kind of religion Python would be.
I’m surprised in your analogy there wasn’t a mention that UNIX runs in assembly language. (Matthew 19:12) That religious vows (aka voluntary “Eunichs”) run in the Catholic Church.
(Or is that too much of a stretch)
As a Microsoft programmer, I’m very partial to C# and was thinking that it could be considered the “Catholic Church” of programming languages.
After all, many people accuse the Catholic Church of being the “Microsoft” of religions.
Brilliant! I can only imagine what Unitarian-Universalism would be …
My child of the Humanities self wanted to get it, but couldn’t, quite. I’m glad you techies are enjoying it.
But, um, your post title is not in subjunctive. Should be “If the Catholic Church were….”
I’ve GOT to finish grading.
This is OBVIOUSLY a horrible attempt by left-wing liberals to undermine the authority of the Catholic Church through clever prose and emotional appeals. What this post INTENTIONALLY leaves out is the Church-Turing Thesis, which accepts that all reasonable models of computation compute the same class of functions. In other words, this list is basically a guised attempt to assert that one religion is as good as the other. We, however, know that the fullness of computability subsists in C†† alone.
Nicely corrected. A+
Python is compared to humanism in the actual list.
Joseph,
Unitarian-Universalism would be …
Perl – definitely Perl
“There’s more than one way to do it!”
Hilarious! I love C++ and indeed am willing to strap bombs on myself and blow up those who oppose it.
Err, maybe not strap bombs on myself, but I do love it.
Paolo: Macintosh is traditionally the Catholic OS and DOS is Protestant. Windows is Anglican, offering “big ceremonies in the cathedral” (copied straight from the Mac) while the principles of DOS still underlie everything.
So does this mean that Catholicism is fortran? 😉
If anyone says that the Catholic language is other than Fortran, let him be anathema! 🙂
Of course FORTRAN is Catholic; it’s ancient, universal, and has its own prayers. Who among you has not heard of OREMA?
As a C/C++ compiler developer/engineer, I’d have to also agree that straight-up binary (or perhaps, assembly) is closest to the Catholic Church. Boil C down to its fundamentals, ancient and modern. Simple, straightforward, yet functional enough to express infinitely complex ideas — sort of like medieval Latin or perhaps biblical Greek.
Of course, C isn’t always so straightforward:
main(k){float i,j,r,x,y=-16;while(puts(“”),y++)|&IH%*#”[k&15]))for(i=k=r=0;j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i
Or perhaps this