Applies to software too. Standards need to be strongly defined with no leeway. Parsing should be tight and leave no room for creativity. (Text protocols like HTTP I'm looking at you!) Anything that deviates should be rejected by reference implementations instead of trying to be "robust" by accepting junk.
rsync|7 years ago
Actually, I think there should be leeway - but only in one direction.
Specifically, I am thinking of the suggestion: "be conservative in what you send and liberal in what you receive".
sigotirandolas|7 years ago
Too|7 years ago
If you apply the rule on machine to machine interfaces it eventually leads to all applications having to be bug-for-bug compatible with the most popular implementation. (Internet explorer 6 usually being the prime example of this)