On the Separation of Church and State Machines

I'm an agnostic. The noun agnostic has always meant to me

"a person who holds the view that any ultimate reality (as God) is unknown and probably unknowable; broadly : one who is not committed to believing in either the existence or the nonexistence of God or a god" from Merriam Webster

Now, go to Microsoft, Sun, Oracle and any other software development website and do a search for the word agnostic. Surprised at how many hits you get? So was I.

What the heck is the word agnostic doing in all of these software development website? It�s in their training material also! I was in a Microsoft .NET class and the instructor started talking about agnostic features in .NET. I raised my eyebrow and thought to myself, �When did source code start getting characterized in religious terms?" Then I remembered the term "Holy Wars" that Stephen McConnell talks about in Code Complete and how he stayed away from them (wise decision). Does this mean that God is real (unless declared as an integer)? In addition to agnostic and Holy War are there other religious terms and ideas in source code?

I don't know for sure but after thinking about it, I have come up with a little list that might be useful the next time someone starts talking about agnostic code. You can use these so that you can blend-in to the religious software development craze (these were not my ideas, I found them on the web):

  • Hindu--Contains bugs that keep coming back in many different forms
  • Southern Baptist--Consumes large amounts of memory, is slow and never makes any sense
  • Hamas--Looks like other code, runs for a little while and then self destructs
  • Catholic--Refuses to use any sort of protection against creating unplanned objects
  • Lutheran--Was written while you were intoxicated and mumbling to yourself
  • Buddhist--Just sits there and doesn't do anything
  • Jewish--Has a lot of output, assumes everything, and costs a lot of money
  • Spanish Inquisition--A code review that you didn't know was coming (no-one ever expects the Spanish Inquisition!)
  • Pentecostal Holiness--Acts normal all week long but must be touched every Sunday morning
  • Mormon--Only runs in Utah and allows for multiple inheritance
  • Atheist--None of the above

I have come to the conclusion that all of my code is atheist and will remain so. What does source code know about religion anyway? I am calling on all developers to join my Jihad against religious terms in  software development. There should be a definite separation of church and state machine.

So, instead of using a religiously loaded term like agnostic, can you go with something a little less neutral--say, like the word, neutral?





 Cool Books

Code Complete
by Steve C McConnell



Component-Based Product Line Engineering with UML
by Colin Atkinson, Joachim Bayer, et. al.



Software Product-Line Engineering: A Family Based Software Development Process
by David M. Weiss, David L. Parnas




Back to Articles

Copyright (c) 2002 by Curtis Keisler. All Rights Reserved.

Hosted by www.Geocities.ws

1