home about me my projects

guestbook

my photogallery

you are here!

contact me

 
     

GOD & PROGRAMMING

Jan 31, 2011

The "Doctor of Philosophy" on my resume prompted my interviewer to start the conversation with the concept of God. This was a good start, even though my Ph.D. has nothing to do with theology (I am an engineer). Ironically enough, the Greeks didn’t use the original word Philosophy to refer to theology (the study of God). Instead, they referred to all other fields of study as Philosophy (except for theology, medicine and law). I guess we are hardwired to take anything Greek too seriously. Contemporary engineering and science is too heavily influenced by the Greeks (look at all the scientific symbols/notations). I have started to wonder if the word Geek is a misspelled Greek (pun intended). Actually, I don't like the phrase 'pun intended', it’s like telling the audience "I know you lack a sense of humor, so I’ll cue you". Anyway, that’s not pertinent here. Apologies. I’ll try not to tangent from the point of discussion here. Let's develop a resistance to 'the-wikipedia-effect' (tangents-off-tangents). For the curious ones, this interview was for software engineering inter position at a big company, big as in microsoft/apple of their domain. Well you might know software and engineering but in simple terms: (software + engineering) < software engineering).

DISC-lame-R: If you are as sensitive as the character of ‘Edith’ (‘The Man from earth Earth, 2007, which by the way is an amazing movie), or if you see any attempts to draw parallels with God sacrilegious, it’s a good time to exit(0) this article. This is a totally non-serious/whimsical exercise to understand/define God using the concepts of Object-Oriented Programming (OOP). To better follow this discussion, you will need at least some familiarity with the concepts of OOP, some knowledge of religion preferably and a little bit of tolerance, of course.

So, The interviewer started a very interesting topic; Of God (or was it ‘Of gods’?). He asked me if I ever wrote what I thought about the concept of God. Well, I am writing now. Thanks to him and Him. Although I am always up for such discussions but I was mentally prepared for a bit more techie talk (so it was a bitwise NOT, ~techie, and I welcomed it). I was hazy with cloudy thoughts because of the all-nighters the previous few nights. Now that I have caught up on some sleep, I think I could have discussed about God more effectively if I would have stuck with the original plan (to stay on the techie side, talking programming concepts). Why not? The concept of God is so similar to Object Oriented Programming concepts: Abstract Base, Multiple derived classes (religions), pointing to the same ‘supreme being’ - Polymorphism (multiple forms).

The more you think, the more you'll find parallels between God and OOP: Here's an attempt.




Polymorphism (multiple form) of god... pointer of the abstract base class GOD can point to the the derived classes with different representations of God.

"God Object" of OOP is undesired by programmer because it ‘knows too much or does too much’. OOPs, they did it again!

 
 
copyleft www.mlvirdi.com :: all rights left (copy if you can)