Recently I suggested "meek.js" as a bare-bones alternative to require.js module loading. Of course this brought out the religious zealots. How dare I? Especially because I was polluting the global namespace with one entire variable for holding a reference to an application and all it's sub-modules.

Their sadly pathetic bleatings, while harshing my mellow, did not go un-heard. Instead I devised a way to create a GUID to use as the identifier for the application within the global namespace. Apparently even the require.js optimizer will assign names for modules, or so it says at the bottom of this blog post disparaging of namespaces, though there is altogether too much too wade through at http://requirejs.org/docs/optimization.html for me to confirm this.

While people are wasting their energy trying to eradicate one pesky global namespace reference, there's a much worse offender at foot, which renders attempts at completely cleansing the global namespace a mockery and an exercise in futility. And that offender is....

The HTML specification, specifically this part: http://www.whatwg.org/specs/web-apps/current-work/#named-access-on-the-window-object

I'm not going to waste a lot of time explaining things as somebody's already done a decent job, but will instead thank the authors of the HTML specification:

Thanks, crack-heads, for:

  • Rendering 'use strict' largely useless
  • Forever tying us to post-hoc tools such as JsHint
  • Returning us to the bad old days not unlike CGI and Perl's "autovivification"

Dexygen: Software, Simple and Powerful