God is a Programmer

Somewhere between 2010’s late August’s heat and mid December’s chill, I learned my first programming language. Under the watchful eyes of TAs and a strangely named professor, I learned the ways of Matlab, and subsequently fell in love with coding. It was somewhere between the weekly problem sets, weekly quizzes, and three behemoths of projects that something occurred to me.

God is a coder.

Two years later, in the midst of planning a physics-based Android app for a Software Engineering class, the idea resurfaced. We were deciding whether or not to take into account electrons’ rotation for movement across the screen, comparing the possibly physical implications to the demands of the user, when the beefy Greek man of the group commented, “This must have been how God felt when he was creating the world.” Soon we were making jokes about nuances of the physical and quantum, making up comments God could have made along the way.

Yet my Greek group mate’s comment stuck with me. As we progressed, and continue to progress, we saw the limits of our own capabilities. Particles became points. We fought with constants. The list continues. With the measly final 2.5 weeks we had to do this project we could not even properly code and complete even an iota of what the Big Guy gave us. This project, in fact programming in general, makes me appreciate what God has made oh so very much.

For those of you who have never written a .m, .cpp, .h, or .py file allow me to take this moment to explain the best way to code.

  1. Look at your problem. Figure out what you want to do exactly.
  2. Figure out how to do it. Plan out your code. Decide the files and functions you will need. Figure out how you could possibly implement this.
  3. Code. Here you’ll find out what is and is not practical. You’ll probably have to do a lot of restructuring once you hit this reality.
  4. Debug. This is when your reality is turned upside down, and Google becomes you best friend.
  5. Enjoy the finished product … assuming you haven’t thrown you computer out the window by now.

Programming is incredibly tedious work. A single semicolon can send up an error, keeping your code from compiling. Once you’ve corrected your runtime errors, there is still no guarantee your program will function properly. For example, the other week I was writing a function to find the natural log. It worked fine … except it was not properly calculating the numbers. After hours of playing with parentheses and restructuring I discovered my error did not lie in that function, but in another I had created for the log function. I had accidentally switched two of the variables. After a few keystrokes, my program was running perfectly, save for a slight lag. In retrospect it was one of the most frustrating and futile few hours of my life.

Imagine how God felt when he was trying to get Earth up and running in the Beginning? Imagine how about when he was attempting to get gills up and running (after all, life did originate from the sea. Maybe the Big Guy needed more time to calculate the force of gravity into mammalian muscular structure?) How about when that first plant didn’t sprout? Think about when he was deciding Quantum Mechanics, a division of physics that allows super-cold fluids to climb walls.

I’m convinced even now the Big Guy is still seeing logic errors, but that doesn’t stop him form creating the strange wildlife found in Australia.

Just like a coder shouldn’t allow seemingly irreperable bugs to keep them from creating something that’s (almost) alive. After all, it’s the closet thing we have to playing God, and programming is the closest thing to playing Human.

3 comments on “God is a Programmer

  1. Andy says:

    I have said before that when you look at life, in the microcosm and the macrocosm, there is a beautiful order. From the things you can’t see without mechanical aids to the wonders you can view with the naked eye, there exists a a constancy, a consistency. The same laws on this planet apply to the other planets out there. Physics, chemistry, it is like the whole universe is, well, programmed a certain way.
    I hope this comment is relevant, as a lot of your code explanation is beyond me! 🙂

    • R says:

      It’s very relevant, Andy! Google fractals. It’s a mathematical principle that’s found throughout nature (even in cauliflower if I remember correctly). I think there’s even a TED talk on it. Very interesting.

Leave a comment