From Greenspun to the Anglican Church

“Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.”

This is Greenspun’s 10th rule of programming. It’s quite an arrogant statement, which is why it is usually delivered tongue in cheek. A rough English translation is, “If you ignore the right way of doing things, you’ll eventually be forced into adopting the right way(because it’s the way that works), but it won’t be pretty.” It has a lot to do with programming, but… what does it have to do with the Anglican Church?

Good software design means understanding how big the problem is and designing accordingly. If your problem is sufficiently complicated, Greenspun advises, you’d better pick up a powerful tool rather than trying to make do with something lighter-weight.

Being able to estimate the size and complexity of a problem (and its solution) is a skill. At the start of your problem solving, you need to assess the problem and spend the appropriate amount of time on design. You can’t dive in with a shallow approach.

But how about arguments? Fundamentally, if two people argue about something, it’s because they see things differently. In some way, their worldviews are in conflict. Every disagreement is a just a small piece of a titanic clash of worldviews.

When you size up an argument, you need to know exactly how much of that titanic clash of worldviews you’re getting into… and you need to plan the appropriate approach.

“So,” says the reader, “You’ve made a connection between Greenspun and disagreement. What does this have to do with the Anglican church?”

There are seriously conflicting worldviews within the Anglican church. I think differences run deeper than people suspect, and I’m not sure the church is tooling up to approach them.

This entry was posted in theology. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>