Hacker News new | ask | show | jobs
by TwoBit 3871 days ago
I disagree with Postel's law, as it results in broken standards in practice.
1 comments

Only because people break the first part of the law. Postel's law is absolutely crucial for communication between independent systems.
Violations of the first part of the law are inevitable once the number of "implementors" of the standard is large, not least because that implies low average competence.

You can perhaps (but my confidence is low) avoid violating the first part of the law if you're a TCP stack implementor, say. There just aren't that many such implementations nowadays and they're generally done by people who know what they're doing. But applying Postel's law to something like programming language implementations, where the "implementors" who would need to obey the first part are all the people writing programs in the language, pretty much guarantees violations of that first part. For any given programming language anyone cares about in practice, the number of people who know the spec for it well enough to only write code that conforms to that spec, even on their first try, is _tiny_ compared to the number of people writing programs in the language.

At that point your only option is to accept that the first part is going to be violated, and badly. Only once you have internalized that understanding can you have a constructive conversation about whether you want to do the second part and to what extent. The answers here will vary, of course.

Ignoring the reality of what people chose to ignore will end up making you very unhappy.
The alternative is even more against reality of what people do -- e.g. the classic proposal for a web browsers which would only accept very strict HTML (and this would supposedly make people fix their websites). In practice it would only have hindered the adoption of the web.