Don't call it standard

Please note: This article is only available in English.
Recently a lot of alleged standards arrived. This is a rather annoying trend.

Have you heard the features of HTML6? Why don't you write standard compliant JavaScript? Why does ASP.NET vNext not use the JSON5 standard? Oh my god. I can't express how much I dislike these statements!

It has become an unfortunate trend that people start something probably useful and call it a standard. Some guys just reserve a domain name, publish a website or push a repository to GitHub. Combine this with some marketing and we have a new standard. Well, that is not how it works. At least it should be. But in our times some other guy sees the self-named standard and tells everyone he knows about it. At this point false information starts to spread like a virus.

Let's start with the HTML6 draft. But wait, there is no HTML6 draft. Calling the proposed changes a specification (it is not) and presenting them as if they would be official (it is not) is preposterous. Not only is the "specification" not really well drafted, it is also highly personal and has never been discussed in the any W3C working group. Nevertheless, I've seen countless articles from (online) magazines that actually believe in something like an HTML6 draft. "Brings us freedom" - don't confuse yourself with everyone else. Also please don't insert elements just like <wrapper> to hide your own incompetence. One of the achievements of the recent CSS modules (starting with CSS3) was to nearly fully decouple layout from semantics. A wrapper that is only introduced for layout is therefore wrong. You should only use CSS for styling. There are enough pseudo elements, additional layers and more to style according to your needs.

Then some people want to force their own style of writing JavaScript to other people. What is the most effective way? Of course! Calling the own style a standard seems to be a good idea. Forget it. When I see rules like "No semicolons" I am really motivated to scream "idiot". Yes, semicolons can be left out in JavaScript (sometimes). Yes, there are places where semicolons should not be inserted. But actually there are more problems when omitting them. You need to insert them on some (and there are a lot more cases than listed in the official page) other positions. Really stupid in my opinion. Instead the author is still using function statements. Actually avoiding function statements will kill the only argument against semicolons after every statement. Hey, its a statement - why not mark it? The 2 space indentation rule is also obsolete. Okay, in big projects you should have a coherent style. But if somebody prefers tabs, 4 spaces or even 8 spaces - I don't care. Text editors convert something like that in no time. I prefer tabs. You can set every text editor to display tabs in the amount of spaces you like. Satisfied? Don't call your guidelines a standard.

Yes, JSON is limited. No, the limitations are actually on purpose (at least some of them). JSON is much more strict than JavaScript. JSON is also not a true subset of JavaScript, even though it nearly is (if it would be a subset then running it would work - but the parser will throw an exception since standalone objects are not allowed). So what are you going to do about it? Of course! We make another, better, standard. Even better, we can also allow really unnecessary stuff for a data exchange format, such as comments or tolerances (trailing commas), multiple ways of doing the same thing (single or double quotes) and much more. And of course we allow hex-numbers - they are really useful in computer generated content that is just converted data. Are you serious? I agree, there is some useful stuff in the JSON5 library. But calling it "JSON for the ES5 era." is a little bit exaggerated. At least the author hints the average "JSON5 is not an official successor to JSON". But why do you call it then JSON? Call it ES5ON or ESON or something similar.

These three examples have been picked more or less randomly. I could also show other examples in the C#/.NET world, but I guess its obvious that becoming a standard requires more than just a name, marketing and an idea.

Created .


Sharing is caring!