Often there are many equally valid, yet incompatible, ways to develop software. When support for a particular method reaches a certain size, people stop debating the merits of the different techniques, and create a doctrine from their beliefs. Like a religion, these are faith based and are therefore exempt from testing or reason.
Known religious issues
- bracket placement
- naming conventions
- using goto
- using global variables
- using objects
One common feature of religious issues is that the faithful quite often work in areas where their choice is insignificant. For example, those who most commonly preach against up front optimisation techniques, usually work in fields where if they were to purposely pick the least optimal solution in every case, their programs would still be acceptable. If you never have to face the consequences of your chosen doctrine it's much easier to maintain your faith.
Reasoning is futile in the face of religious arguments. In the more mature camps, the arguments and rhetoric so well rehearshed that proponents no longer remember the reasoning behind the doctrine. This is a shame since the original ideas usually represent valuable experience.