The Ontological Argument applied to programming

Programming Theory 1 Comment »

St. Anselm

For a while, I’ve been kicking around in my head a version of The Ontological Argument as applied to programming.

The Ontological Argument for the Existence of God is an attempt to prove that God exists by playing around with definitions. It requires no data and no experimentation, just a little armchair thinking, perfect for your lazy philosopher. I’ll lay it out as specified by Wikipedia:

  1. God is, by definition, a being greater than anything that can be imagined.
  2. Existence both in reality and in imagination is greater than existence solely in one’s imagination.
  3. Therefore, God must exist in reality: if He did not, He would not be a being greater than anything that can be imagined.

Besides the definition of God, the whole argument comes down to the second assumption:

Existence both in reality and in imagination is greater than existence solely in one’s imagination.

In layman’s terms, this breaks down as: Something that exists is better than something that does not exist. Would you rather have a real piece of cake, or an imaginary one? A real X-Box 360, or an imaginary one? That’s the basic idea.

This principle applies remarkably well to computer programming. A program that runs is simply superior to one that does not. Program foo may be better architected, better designed, more scalable, and more extensible, but as long as bar runs and foo does not, then bar is better.

In other words: No matter what nasty hacks or deals with the devil you had to make, the fact that you have working software trumps everything else. UML diagrams, n-tiered architectures, and design patterns work well in our minds, but running software is the ultimate goal. So, do your best to get things right, but do whatever it takes to get things running. In the end, working software is all that matters.

Am I crazy? Is St. Anselm (the author of The Ontological Argument) spinning in his grave? Leave a comment and tell me what you think.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in