Throughout history theologians have tried to come up with analogies to understand God better.

Even those of differing or no faith can stipulate or theorize what God might be like or how he might communicate were he to exist. A common analogy for God’s “language” or potential communication method is mathematics.

Some Background

Math underpins much of the laws of physics, has absolute (or seemingly so) laws and rules, and a definite sense of order to it. These all seem like good things that a creator of the universe might use to communicate with his creation. One thing math lacks though, is creativity. 1 + 1 = 2 tells us how the world is governed, that it has logical rules and laws dictating order, but it doesn’t create something new. One apple added to another is still just two apples, you don’t get a third one, you don’t get anything new.

Math helps us solve puzzles, which we can then use to create new things, but doesn’t do the creative work itself. For example, when we understand waves and differential equations this allows us to construct things such as earthquake resistant buildings, but it doesn’t do the construction itself. The language of mathematics therefore describes what is possible within the physical world, but doesn’t necessarily describe how the physical world was devised to begin with. We need something else to explain the creativity and design in the universe. Something in addition to the laws and order that math and physics provide. We need another analogy, and I believe that analogy is code.


The Code of the Universe

Programming languages are the best analogy yet for the language of God. They function in order, must be designed with great care to work effectively, and are extremely creative. If hardware limitations are removed, anything can be created with code. The only limits are the skill to program it correctly and your imagination.

This idea is not new as there are many examples in pop culture theorizing how advanced computer programs could become. Many have postulated that we may perhaps live in a computer simulation ourselves; just watch The Matrix. In addition, the idea of code being analogous to God creating the world is present in movies such as Tron. Finally, we see in nature a very complex form of code in DNA, and the rules and laws of math and physics had to be written somehow. Code is the language of God.

As a Christian it is sad to me that the Christian Church has so little to say on this topic. Christians will study years of seminary learning about God, and yet even in 2018 know nothing of computer science or the language God used to create us. To be fair, software is still relatively new, not exactly personable, (it deals with machines after all) and not part of everyone's life. There are certainly other ways to represent Jesus to the world. However I am convinced that missing the importance of software is a tragic oversight of the church. Just when the church fought scientific discovery in the past, this passive indifference toward technology is a testament to the church being less and less relevant in today's culture. How can one believe in a faith in which the believers are so ignorant?

As such, we are left to those of other faiths or no faiths to create compelling analogies of our own existence. I am convinced this is because God loves all people, and is happy to reveal himself through anyone, regardless what flag or religion they may carry. What is unacceptable is Christians who claim a superior knowledge and yet are ignorant on so many basic things.

God is a Developer

Scientists have shown God to be a scientist, look at the complexity of nature. Artists have shown God to be an artist, look at the beauty of nature. Mathematicians have shown God to be a mathematician, look at the order of nature. I think its time programmers show God to be a programmer, for how else was nature devised?

I challenge people of all faiths to study the basics of computer science. Learn to code, and you just may learn more about yourself, others, and God. Here are some examples which I think show how this is helpful:

protocol Wave {
	//some code here

protocol Particle {
 	//some code here

class Light: Particle, Wave {
	//some code here

// MARK: Day 1

let light = Light()
let darkness = light.seperateDarkness() = "Day" = "Night"

Using basic coding principles, we can easily model how light functions in the universe and how an eternal being could create the blueprints in eternity and then instantiate them at any instant he wishes. We easily see how light adapts properties of both a wave and a particle by conforming to those protocols. As such, with code, we can easily model and create analogies to better understand our physical world, and perhaps better understand how God created the world.

And God said, "Let there be light," and there was light.
And God saw that the light was good. And God separated the light from the darkness.
God called the light Day, and the darkness he called Night. And there was evening and there was morning, the first day. (ESV: Genesis 1: 3 - 5)

The Beauty of Parables

Why are analogies important? Simple, they produce better comprehension, which leads to trust, which when relating to God we call faith. Jesus himself taught almost entirely in parables. He used analogies which were easy to understand to explain complex spiritual matters. Why did he do this?

If I have told you earthly things and you do not believe, how can you believe if I tell you heavenly things? (ESV: John 3: 12)

Jesus is basically saying if he were to try and explain spiritual things directly we would just not get them. We wouldn’t believe. So he uses “earthly things,” analogies and parables, so that we might believe. Belief, as Jesus points out, is still a struggle even with analogies. The idea here is Jesus is doing whatever he can so that we might believe. And the word belief here really means trust; God wants us to not just acknowledge his existence, but trust in his goodness.

Any spiritual leader would do well to understand the world around him, the people around him, and use the best analogies at his disposal to reach those people. Inviting people to trust in the goodness of God benefits greatly from exceptional analogies. Programming is an exceptional analogy of the nature of God and our existence. As such, I encourage anyone who is spiritual, especially leaders, to learn some kind of programming. Even a basic understanding will benefit their own relationship with God and can help explain theological issues and relate with others.