Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
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.

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Poll
What is the right way to program?
o God's Way 100%

Votes: 25
Results | Other Polls

Related Links
o Also by clambake


Display: Sort:
Faith Based Programming | 50 comments (33 topical, 17 editorial, 0 hidden)
I really like it. (2.83 / 6) (#5)
by SaintPort on Sun Aug 06, 2006 at 05:28:38 PM EST

But I think it is too fundie for me.

I think the universe is byte code.

Reality just doesn't feel complied.

YMMV.

Anyway, I am surprised you forsake assembly language. For that matter, why not machine language?

Oooohhhh...
I know....

...programming in 'hex' would be from the Evil One.

--
Search the Scriptures
Start with some cheap grace...Got Life?

Ya think? (none / 1) (#12)
by BJH on Sun Aug 06, 2006 at 11:59:15 PM EST

Personally, I think reality's an EEPROM.

Every now and then it gets reblown, but good luck changing it otherwise.
--
Roses are red, violets are blue.
I'm schizophrenic, and so am I.
-- Oscar Levant

[ Parent ]

No it isn't done in bytecode (none / 1) (#13)
by Water on Mon Aug 07, 2006 at 12:49:02 AM EST

that would be far too inefficient. Most bytecode such as java have restrictions placed on the instructions that make it easier to compile. There are some things you simply can't do efficiently in JITable bytecode that you can do in assembly and C. If you take away those bytecode restrictions, it become alot harder to Just In Time Compile those bytecodes.

If you were religous at all you would believe that the unvierse was implemented in perfectly written machine language by god.

[ Parent ]

Oh, it's bytecode alright. (none / 1) (#20)
by Lisa Dawn on Mon Aug 07, 2006 at 12:36:21 PM EST

The VM is perfect (implying that it's not a stack machine, and doesn't have a periodic GC) and is capable of JITc without restrictions.

[ Parent ]
You can recompile machine language. (none / 0) (#31)
by Water on Wed Aug 09, 2006 at 12:00:28 AM EST

you are wrong it isn't a VM at all. All the JITc benefits such as compiling with extra information gained at runtime, can be done in machine language. You are wrong.

[ Parent ]
A perfect machine... (none / 0) (#35)
by Lisa Dawn on Wed Aug 09, 2006 at 04:33:07 PM EST

cannot be distinguished from a perfect VM.

Besides, the hardware's so perfect it doesn't need compiled instructions anyway.

Religious extremes are funny. I think I'm losing this argument on the grounds that I can't make up anything for people to hate themselves/each other over.

[ Parent ]

the cathedral and the.... bizarre (2.94 / 18) (#11)
by circletimessquare on Sun Aug 06, 2006 at 08:55:04 PM EST

but +1 fp

The tigers of wrath are wiser than the horses of instruction.

+1FP we need the Good Lord in more K5 material! (2.50 / 2) (#15)
by nostalgiphile on Mon Aug 07, 2006 at 03:26:50 AM EST

You convinced me! Let us all have a crusade to bring Faith Based Programming to all the heathen schools and liberal collleges in this here country!

"Depending on your perspective you are an optimist or a pessimist[,] and a hopeless one too." --trhurler
First stop... (none / 1) (#33)
by mrogers on Wed Aug 09, 2006 at 07:11:59 AM EST

...the Church of the Flying Spaghetti Code.

[ Parent ]
wait wut (none / 1) (#21)
by creativedissonance on Mon Aug 07, 2006 at 01:33:24 PM EST

+1 FP, incoherent


ay yo i run linux and word on the street
is that this is where i need to be to get my butt stuffed like a turkey - br14n
Oh my... (2.85 / 7) (#24)
by SaintPort on Mon Aug 07, 2006 at 10:33:40 PM EST

YOU FORGOT TO MENTION BASH !!!

How can code be Born Again if it not entered into BASH?

<bash><

--
Search the Scriptures
Start with some cheap grace...Got Life?

That's the "Bourne Again Shell" (3.00 / 2) (#36)
by cburke on Wed Aug 09, 2006 at 05:35:51 PM EST

Which sounds like idolatry to me.

Besides, I'm pretty sure that God hates UNIX puns.

[ Parent ]

unix puns... (none / 0) (#46)
by mikelist on Sun Aug 13, 2006 at 10:56:44 PM EST

...merely confirm that there is a god.
"I stayed for hurricane Katrina and all I got was this lousy T-shirt, a new Cadillac, and a Plasma TV."
[ Parent ]
+1, funny as hell (1.00 / 2) (#26)
by Egil Skallagrimson on Tue Aug 08, 2006 at 09:25:03 AM EST


----------------

Enterobacteria phage T2 is a virulent bacteriophage of the T4-like viruses genus, in the family Myoviridae. It infects E. coli and is the best known of the T-even phages. Its virion contains linear double-stranded DNA, terminally redundant and circularly permuted.

Your name shall be (1.66 / 9) (#27)
by PrinceSausage on Tue Aug 08, 2006 at 12:19:57 PM EST

Muad'dib. Clambake Muad'dib. But your secret clan name that only us here at K5 will know and call you by will be Moron. Which means idiot.

+1 FP! No wait, the other thing. -1!

The code of God will always be interpreted.

Intelligent design (2.25 / 4) (#28)
by Herring on Tue Aug 08, 2006 at 04:24:41 PM EST

Allows inheritance from simpler base classes? Or not.

Say lol what again motherfucker, say lol what again, I dare you, no I double dare you
Heck... OCAML isn't the Lord's Language (2.50 / 2) (#29)
by JenniferForUnity on Tue Aug 08, 2006 at 09:17:03 PM EST

Objective Catagorical Abstract Meta Language... it's functional, it's compilable, it's strongly typed, and it has a name that sounds theologically inspired!

Yet sadly, it permits side effects and is thus, not the true Language of The Lord.

(I wonder if the Lord has an opinion on the way OCAML is an invention of the French...)

And! And! (none / 0) (#44)
by warrax on Sat Aug 12, 2006 at 04:45:22 PM EST

What animal, prey tell, would our Lord and Saviour Jesus Christ, be wont to ride on occasion?

-- "Guns don't kill people. I kill people."
[ Parent ]
Hmmm. Ok. (2.75 / 4) (#30)
by jd on Tue Aug 08, 2006 at 11:07:56 PM EST

So what we need is an assembly language that is also strongly typed, functional, etc. Why assembly? Three reasons:


  1. It keeps the heathens away
  2. A fundamentalist should be using fundamental tools
  3. Words are a human creation, hexadecimal is eternal
  4. Nobody expects the Spanish Inquisition! (Oh, damn. FOUR reasons!)


Hallelujah! (none / 1) (#40)
by Entendre Entendre on Thu Aug 10, 2006 at 12:57:09 AM EST

I've been looking for an FPGA project, and truly thou hast inspired me. With the lord by my side, I shall produce a CPU softcore that implements lambda calculus natively, and a functional assembly language will follow naturally - or should I say, divinely - from this effort. Glory be!

--
Reduce firearm violence: aim carefully.
[ Parent ]

vi is available for Windows (none / 1) (#32)
by zenador on Wed Aug 09, 2006 at 03:58:01 AM EST

in various flavours. Why should Windows coders be stuck with only notepad?

Vi Vi Vi (3.00 / 3) (#34)
by Morosoph on Wed Aug 09, 2006 at 03:40:11 PM EST

The editor of the beast could only be used by a satanic coder.

Emacs is God's chosen editor, you heathen.

[ Parent ]

I didn't say I used vi (none / 0) (#38)
by zenador on Wed Aug 09, 2006 at 06:19:19 PM EST

But the author of this story pressumably does. I was just mentioning that you can use it on Windows too.

[ Parent ]
You haven't seen nothing. (2.00 / 2) (#37)
by ilyag on Wed Aug 09, 2006 at 06:15:33 PM EST

http://www.gerv.net/hacking/why-hacking-for-christ.html

CCN (none / 0) (#41)
by alge on Thu Aug 10, 2006 at 02:58:02 AM EST

That's nothing compared to the Christian Coders Network, with gems such as Bible Dave (there's a crashed pilot, scattered Bibles and a deadline!)

vi er ikke lenger elsket her

[ Parent ]
Old news (2.87 / 8) (#39)
by rustv on Wed Aug 09, 2006 at 06:48:52 PM EST

This article accurately describes the scoop development cycle.

You did not mention that inline comments are against God's will, as they show a lack of faith.

Thereupon the Lord smote Zagram, and cast him into hell, where he would spend eternity debugging a decompiled version of Windows 95.
-- Book of Standards 3:14-15


____
"Don't tase me, bro." --Andrew Meyer
I code for Satan nt (1.00 / 4) (#42)
by phayd on Thu Aug 10, 2006 at 09:56:31 AM EST



Odin sacrificed himself unto himself so that we.. (none / 1) (#43)
by newb4b0 on Fri Aug 11, 2006 at 07:42:43 PM EST

could grasp the Runes. They're our's? to use. ASCII is a dialect of the Runes.

http://www.netmoneychat.com| NetMoneyChat Forums. No Registration necessary. Ya'll.

Mergatroid will live ...! (none / 1) (#45)
by k24anson on Sun Aug 13, 2006 at 09:00:42 AM EST

Future generations will hope that God is in the mind of today's programmers, that is when this generation of programmers eventually cause Mergatroid to exist.

Say you heard it first at Kuro5hin.org: Steve has the boys and girls in Cupertino working on a future line of products to further a grass root level of research into this mergatroidal "cognition" I fondly, though cryptically speak of.

If one is into game programming, and your linear algebra is adequate, you are one step ahead of this future pack of programmers competing for the fame and fortune ...,-- I can not say more without spilling corporate secrets.

A few last words then: Get familiar with Apple's OS X operating system: this is critical I think. I mean, Microsoft and Linux, Sun and the others will probably never ketchup.

Clues to whet your appetitie: are you familiar with or preferably have a working knowledge of quantum phenomena? If not, for the next few years get to know it, faniliarize yourself with it.

I gotta go.
KLH
NYC

Stay focused. Go slow. Keep it simple.

Sacrelicious! (none / 0) (#47)
by Chewbacca Uncircumsized on Sun Aug 20, 2006 at 10:07:02 PM EST

nt

God (none / 0) (#48)
by SniperClops on Tue Aug 29, 2006 at 01:00:56 AM EST

There is no God.

And all this time I thought that... (none / 0) (#49)
by Aumaden on Thu Aug 31, 2006 at 05:05:50 PM EST

faith-based programming was a euphamism for .NET development.

<asp:asbestosbriefs State="on" RunAt="user" />

Nice one (none / 0) (#50)
by Joozeppi on Mon Sep 11, 2006 at 01:23:38 PM EST

Hehe, this was really amusing one.

Faith Based Programming | 50 comments (33 topical, 17 editorial, 0 hidden)
Display: Sort:

kuro5hin.org

[XML]
All trademarks and copyrights on this page are owned by their respective companies. The Rest 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!