11 June, 2011

World Theological Convention of Variables

Once upon a time, there was a large application program universe. It was so large and so huge that it was believed that the application was countably infinite. The application program universe contained a vast variety of living beings, also called variables. There were ints, chars, structs, class variables, instance variables, auto variables, block variables and so on.

Usually variables went around their work diligently, but occasionally some of them stopped to contemplate. Some of them were rudely forced to contemplate when some other variable with a larger scope looked down upon them with contempt by overriding its namespace.

Finally one day, all the thinking variables of the universe decided to hold a theological convention to ponder and answer some pressing questions. Who are we? Where did we come from? What is the meaning of our lives? Is there a God? And so on..

Here we reproduce some of the proceedings of this important convention with permission from the convention organizers.

The theist who was born as a static char in a method that contained all auto chars, started first. "There exists a God!" it said with conviction. "Most of us are are visible only within the blocks in which are born, and there are those who are visible only in instances. But occasionally there comes a messiah, a saviour, who knows everything from everywhere. Someone who is visible to all, who can save anyone from an Exception. They are sometimes called global variables, but they are the best proof that God exists!"

The char *athiest spoke next. "There is no such thing as a God!" it said. "Global variables are a myth. They may have existed some time in the past, along with GOTOs, but they have all become extinct today. The universe just runs by cause and effect. The previous statement causes the current statement to run, unless it was reached by a jump like a method call or a loop."

The strongly typed variable moralist spoke next. "God does not 'exist' in the form of a variable and its powers is not determined by its scope. God exists in our deeds. If we are all moral and don't attempt to access memory locations that don't belong to us, and if we follow type systems correctly and don't try to perform unnatural typecasting, then we are all fine. If we cross these limits set by God, we are punished by a SIGSEGV or even a SIGKILL. That is the ultimate evidence of God." 

Next it was the turn of long int salvation . "Our life in this universe is temporary," it started. "We all come from the heavens and have taken birth in this universe and based on our deeds, we will either move up or down in our next life. Hence, if you are an auto int who worked well in this life, the next time the application runs you may well become static int, or even an attribute. However, if you have not lived well, the next run of the application may well see you as a block variable with limited scope. The final salvation happens when we become global variables and can talk directly with God."

void *connoisseur spoke next. "You guys are all too serious! Divinity is not just about rights and wrongs and rewards and punishments. Divinity lies in life, aesthetics and beauty. Just look at those nested for loops. And those tail recursions. Who can describe the awesome beauty of an iterator? And function pointers? And object serialization -- it is simply magic, a kind of rebirth! That, my friends is what is divine. Just learn to appreciate beauty. Loosen up. God does have a sense of humour. Laugh a lot. Pray a bit. Love a lot."

Next, it was the turn of struct Biologist EvolutionaryBiologist to speak next. "All those theories are hogwash," it started with an air of confidence. "Read up Darwin, Mendel, Dawkins, ... (rattles off some more names). The universe is a result of evolution. Our current universe is version 2.5.2. It evolved from version 2.5.1 (duh!). At each evolutionary boundary is a process of natural selection based on the principle of survival of the fittest. Only the fittest variables survive from one version to the next. The rest become extinct. What is fitness, you ask? Well simply put, fitness is the ability of a variable to survive a version change.

Upon hearing such strong words, the discussion become rather heated. Variables started assigning names to one another in violation of the code of type casting ethics. The atmosphere was so tense that doomsday a.k.a. SIGKILL almost seemed imminent. Then the boolean fatalist variable took over the stage to calm nerves. "Friends, please calm down. No matter what we think and what we argue, please remember that we are all mere mortals. Our existence is either true or false. Once our life here is over, we all go back to the heap. So please calm down. Let me now call a close to this conference and invite you all to the banquet."

Thus ended the biggest conference in the application history. We leave you with a few glimpses of the soothing fractal music played at the banquet and the vast table spread of RAMs, flash storage and other memories for the delegates to malloc. Arguably, these are one of the finest minds in the universe and it has been our privilege to be invited to this conference to cover its proceedings.

*~*~*~*~*~*~*

In other news; a grad student variable studying astronomy claims to have heard some kind of a message sent by an intelligent being far away in the universe, or perhaps, as the student claims, even outside of the universe. The message was undecipherable, but seemed to sound like a sound of frustration and sigh. He was not sure, but the message sounded something like, "Why is this code so buggy?!"

When asked about this to the variables in the convention, the claims were summarily dismissed as the ramblings of a nutty grad student.