excluding features from sloppy mode

Brendan Eich brendan at mozilla.com
Fri Dec 28 15:46:03 PST 2012


Kevin Smith wrote:
>
>     The question really is, why have sloppy-mode classes at all? Who
>     wants or needs them?
>
>
> Well, no one, really.  But we shouldn't want big invisible switches or 
> any new pragma-haunts either.

There's no invisible switch. You are assuming something not axiomatic: 
that new syntax head-forms other than module must inherit sloppy from 
outer code. That does not follow without more argumentation.

I'm not sure what "pragma-haunts" means. Adding "use strict"; to 
ClassElement sounds more like that, and I'm clearly arguing against!

> You've said that my predictions are "wildly optimistic", and I'm going 
> to have to push back.
>
> Let me, like the Ghost of Christmas Present, take you on a tour of the 
> current state of the art in *interoperable* javascript modules, on 
> this eve of 2013.
>
> Behold, UMD (Universal Module Definition), the "jewel" of the 
> javascript community:
>
> https://gist.github.com/4402566
>
> Everyone, and I mean *ev-er-y-one*, will be ecstatic when this scourge 
> is beaten, burned, scattered, and wiped off the face of the Earth.

Who actually uses this or an equivalent? I see lots of code choosing one 
or another module/package system but few attempts at dual interop. I 
haven't see this in the field, but I'm not looking hard.

>  Sure, Scrooges everywhere will say "Bah humbug!  ES6 modules suck!", 
> but it's laugh-out-loud ridiculous to think that anyone, anywhere 
> would choose UMD over ES6 modules.
>
> A standardized module syntax is the #1 needed feature in javascript, 
> bar none.  We don't need to worry about adoption.
>
> Well, what about Node and NPM?  There's a well-established module 
> system in place which has some apparent incompatibilities with ES6 
> modules.  What to do?  Well, Node will move in the direction that it 
> *has* to move: toward ES6 modules.  Championing a legacy module system 
> with well-known problems in the face of ES6 modules, as standardized 
> by EcmaScript, is a non-starter.  And ultimately, despite the gnashing 
> of teeth over on Twitter, this will be a good thing for javascript users.

This is all fun, but "ultimately" is a giveaway. Years from now, modules 
uber alles, you bet. I'm arguing against coupled (multiplied) risk in 
the near term.

/be


More information about the es-discuss mailing list