Joined: 25 Mar 2007
|Posted: Sun Apr 29, 2007 3:11 am Post subject: Faith Based Programming
|Thought you guys would want to know of a new coding initiative LOL
Faith Based Programming
By clambake in Technology
Wed Aug 09, 2006 at 04:06:46 AM EST
Tags: god, technology, funny haha (all tags)
There have been many "faith based" initiatives popping up in various aspects of American life. Everything from politics to education to finance to technology and even international relations. One area, however, that seems to be missing out is one that is a part of my every day life: software development.
In an effort to combat the evil inherent in current development processes, I am starting a new initiative that I call "Faith Based Programming".
Come and join the movement and spread the Good Code!
What is "Faith Based Programming"? It is simply an extension of accepting God's plan for my life as it applies to my job as a software engineer. It is putting my complete faith in God that what I program into the machine.
Every morning, before starting, I speak the Programmer's Prayer: "Lord: I begin today on your Great Work. Guide my hand, and bring forth the Code your Will desires. Give me your Strength to keep my Faith, and your Sensory Deprivation to ignore temptation right before my eyes. Goto Lord."
And with this prayer looping constantly through my heard, I am prepared to begin my day in Glory.
Write once, Run where God Commands
When I begin to code, I stop trying to follow the rules and logic of my own experience over the years. Instead I allow the divine spirit take my hand and control the code that is written.
In this way, I find that I never have to go back and check what I have done. In the past I was a bit of a ham-hand, transposing letter, adding typos, switching + and -, etc. I used to live in constant fear that what I had just written wouldn't compile, or that the logic was faulty or unreadable.
Now, however, I know through my faith that what I have written is as Jesus intends. It is inconceivable that he would allow my hand to stray. If the code I write today were not to compile, I know it must be the fault of the heathen compiler. If my fellow programmers cannot make sense of the logic, then clearly their eyes are shut to the Glory on High.
Using an IDE shows a great lack of faith in God's ability to keep your hand steady, and is sinful. If you program in Windows you shall write your code in notepad, and if it is on a Unix based system (including OSX), ye shall use vi. The proper way to program is to begin from the beginning and write until the Good Work is complete.
If it helps, feel free to remove the backspace and delete keys forcibly from your keyboards, so as not to find yourself led into temptation. I often find it best to simply turn off the monitor, as I have done now.
Thou Shalt not Test the Lord's own Code
Clearly, if one is truly placing his faith in the almighty that the code being written is divinely inspired, it is important to follow one important tenet of the bible and to never write or run tests. JUnit is a sin.
Coming from a pure "test driven development" background, this was a very difficult thing for me to accept originally. I always felt that being a paranoid programmer was being a good programmer. Many of the choices that Jesus makes for you after you accept him as your personal lord and savior are difficult at first. Faith, however, gives one the strength to overcome the difficulty. It helped me understand that a bug is not a mark of failing quality, but instead simply a part of God's divine plan.
Now when I see that the accounting system I wrote is accidentally rounding everyone's accounts down to the nearest $100, I don't jump into a panic and try and "fix" it. There is nothing to fix. As surely as God drove my hand to type in the algorithm to cause the "error", he too meant it to be so and what I have done is both Good and Just. Maybe I will never see the full, ineffable masterpiece that is God's Plan for humanity, but I can see, at least, my own little contribution. It is enough for me simply to know that I am helping do my own small part to help the Kingdom of Heaven become realized on earth.
Stray not into Temptation
If one is to follow the Code of God, one must be willing to make some small sacrifices that he may stay on the straight and narrow path. One should use only the tools and the development styles that lend themselves to Good and Holy works.
Interpreted languages, for example, are sinful. They can be "interpreted" in any number of ways, possibly distorting the original message that the Lord has intended for His Code. In the same way, only languages that are strongly typed, and strict in their syntax shall be considered Holy languages.
Side effects, too, should be impossible. God does not change what he says, so why should the Divine Code be any different? This means, of course, above all else, "functional programming" languages should be used when writing the Will of God.
What's more, it is said that one man cannot serve two masters. In this way it is the same that one man cannot program in two languages. Whatever language God speaks through you to pick, well, that is the language that ye shall always use. (And in the same vein, no client-side code should be able to talk to more than one server, but this should be obvious).
This is just a small part of what Faith Based Programming is all about, but it should be enough to get your feet wet and see if you are willing to accept Jesus as your personal Lord and Debugger.
And, isn't sanity really just a one-trick pony anyway? I mean all you get is one trick, rational thinking, but when you're good and crazy, oooh, oooh, oooh, the sky is the limit
- The Tick