Sam Gentle.com

The standard problem

When I was younger I always thought language was a set of rules you had to obey, a viewpoint I later learned was called prescriptivism, which is contrasted with its opposite, descriptivism. As I got older, my views mellowed away from the strict "what's in the dictionary is correct" school, but I've never found it in myself to go full descriptivist. Instead, I always thought of English as a standard, suffering from the same problem as any other standard.

When the web was first developing there were very few standards. Occasionally people published documents for one thing or another, but ultimately the standard was whatever got implemented. As time went on, standardisation did happen, but it was a largely descriptivist effort. Tags would appear in the browsers, then eventually those tags would appear in an HTML standard. It was a bit of a mess because the standard was constantly playing catch-up, and never seemed to quite cover the actual reality of the web.

For that reason the W3C eventually made a play at prescriptivism in the form of XHTML. Unlike HTML, which was fairly accommodating, XHTML was strict. If your webpage didn't adhere exactly to the specification, it wouldn't display at all. All behaviour was completely prescribed, specified and easy to predict. The standard was, of course, a complete failure. Nobody really used it because it was too different from what they were used to, which just worked.

So what we have now is HTML5, a kind of balancing act between the two which does a remarkable job of solving the standard problem. It clearly specifies a prescriptive standard, including what behaviour is required to be conformant. But the standard itself is mostly just a codified version of existing behaviour, so in most cases whatever you wrote before will still work.

You can kind of visualise it as a rubber band stretched around the space of existing implementations. If it's too loose, everyone can just do whatever they want. Too tight and it'll snap completely - everyone will ignore it. But if it's just tight enough, it will push the fringe non-conforming stuff back in line without inconveniencing the core features that everyone is pretty used to.

So I suppose that's ultimately become my model for languages. It seems clear to me that having no standard for English doesn't make sense, but neither would a standard handed down from on high that arbitrarily removed or renamed words in popular use. Instead it would have to play that same careful balancing act, trying to adjust behaviour without going too far and being ignored.

I'd sure hate to be the person tuning that rubber band.