Re: Postel's law
Date: Fri, 23 May 2008 13:38:03 -0700 (PDT)
On 23 mai, 18:18, Marshall <marshall.spi..._at_gmail.com> wrote:
> On May 22, 10:28 pm, David BL <davi..._at_iinet.net.au> wrote:
> > Have you heard of Postel's Law?
> > "Be liberal in what you accept, and conservative in what you send."
> > I can imagine it being applied to many things. Eg file formats, APIs,
> > compilers, databases ...
> > I think it generally leads to unnecessary complexity and sweep errors
> > under the carpet.
> Postel's law makes enormous intuitive sense. Its benefits are
> immediately obvious. There's just the one teeny problem that it
> leads to widespread ruination.
> Many related arguments, and in some cases Postel's Law in
> particular, have been used to justify various wonky behaviors
> in Haphazard Text Markup Language parsers. The argument
> goes something along the line of, any file you can get anything
> out of, you ought to. And also that this enables shitty amateurs
> to write code that writes files. As I said: ruination. Blurring the
> line between what is accepted and what is malformed leads
> to problematic questions about the semantics of only-slightly-
> broken files. If it's not part of the standard, then anyone is
> free to interpret the input however they want. This defeats the
> purpose of having a standard in the first place.
> The counter argument for me has always been JPEG. JPEG
> may actually be such a success *because* it's so technically
> difficult. You don't get shitty amateurs writing JPEG writers.
> They just use a library that already works, which was written
> by an actual expert. (Which is what the "E" in "JPEG" stands
> for anyway.) And JPEG is an enormously successful file
> format; there are probably more JPEG files on the web than
> HTML files.
<< "Be liberal in what you accept, and conservative in what you send.">>
If one is talking about high school love letters perhaps the rule applies. That application may even get one a better chance to get laid *before* your prom night. However, computing of exchange formats and general computing history tells a different tale. The greatest caution is to be applied about human ability to create tempting shortcuts and create areas of technical relevance where there is in fact nothing but truth vacum.
I have realized that human computing culture has strong tolerance with overhead and unefficiency when it does not perceive its side effects. HTML is probably the best example to date. HTML was not a language designed with the objective of efficiency nor elegance but a very limited purpose to be a text format wrapper.
Its hierarchical inspired structure added with the anarchic and continuous stacking of resource pointers embodied by its keywords made it an ideal candidate for being called the first universally accepted class in an OO sense (you know about polymorphism, thinking of href and img as flexible properties in an OO jargon). Nevertheless, the physical size representing its overhead, its *instantiation* as a page was small enough to not have the side effect of its usage being perceived by its users as unacceptable. Such acceptance comes in fact the carrying medium of the technology, namely network, had the potential of absorbing its side effects and make user perceive that the impact of its size as minimal. In fact, one can reasonably assume had the topology of the network that first accepted been unsufficient to limit its side effects, HTML would have disappeared as many languages did because its side effects would not have been acceptable to its users. Not as much could be said of XML or other EDI formats that all have in common the fact that their side effects are actually perceivable by their users. In the case of these late ones, overhead is perceived by users because the physical conditions are not sufficient to make them disappear and accentuate them.
Another way to say this is that HTML is the exception that confirms a rule that could be phrased as *Unless you have your own private postal service, just send the letters in enveloppes that are more likely to be processed faster and better by the triage machines*...Qualifying the application of this rule based on practicality and common sense as being *conservative* or *liberal* is nothing more than an anthropomorphic projection over a simple problem. A nice example indeed.
My two cents over EDI... Received on Fri May 23 2008 - 22:38:03 CEST