Object Oriented God

Ask a programmer to explain object oriented programming, and they will say something like: “Well, everything is an object.” Ask them to explain an object, and they will say: “An object is an object.” Or so goes a common joke or misconception.

Of course, we can define an object. An object has fields like a data structure. For example, an address book would have a name, phone number, address, etc. Along with fields for storing data, objects also have functions (methods) attached to them. For example, you’d want to enter data on a card in the address book, print the card, load and save it, etc. Objects belong to a class, and the class can also have methods. For example, the address book class would have a method to search the entire database of cards. This system gives a way of reasonably representing things in the real world…for some. Others find object oriented programming confusing, preferring a more functional approach. Different strokes for different folks. If you want to learn object oriented programming, I’d recommend Ruby.

Humans have always sought some kind of model to explain creation at all levels. According to some ancient religions, the Earth rests on the back of a turtle. The Mayan day sign Imix symbolizes this. If you ask a believer what the turtle rests on, they will simply say another turtle. This might sound strange to some, but turtles and objects both serve as metaphors for the way our mind actually puts the world together.

Comparing these two metaphors brings another paradox to mind. Programming objects have very tangible results, yet software has an intangible existence. The turtle metaphor has intangible results, but a turtle tangibly exists. Perhaps the two explain the same paradox from different angles, and have more in common with each other than it may initially seem.

So what does this hypothetical class look like? Does the class represent the Creator, creation, or both? How would an object of this class behave? What variables and methods would it contain? I don’t know for sure, but it makes a fun and interesting mental exercise. Perhaps we will never really know. Or perhaps someone will figure it out and post some pseudo-code in the comments.

The next time a religious fanatic pesters you, just think of tangible programming objects, or intangible Mayan turtles. They all make sense in their own way. Pick the metaphor that makes sense for you and use it. Just don’t confuse the map with the territory.