ES Modules: suggestions for improvement

Isaac Schlueter i at
Tue Jun 26 11:54:00 PDT 2012

The linked blog post is a very rough cut of where my thoughts are on
the subject.  Expect changes and cleanup.  It does not represent a
fully-baked (or even half-baked) idea, but more like a general

I expect to clean it up and propose something at least half-baked to
this list soon, incorporating some of the feedback that I've gotten
from that blog post.

On Tue, Jun 26, 2012 at 11:34 AM, Thaddee Tyl <thaddee.tyl at> wrote:
> Another point that I believe Isaac is making is that too much syntax
> is likely to confuse developers

Developers are very good at getting un-confused by new syntax, and
newbies are very good at becoming less new.  That's not *much* of a

The bigger hazard is that we can't remove the syntax we add, and
historically, humans don't have a perfect track record at expecting
consequences, so we should try to reduce additions to the smallest set
possible to deliver the more important functionality.  In other words,
if some % of what we do is a mistake, we halve our mistakes by doing
half as much.  If we can focus what we do on the things that are very
essential to what we need, we can probably beat those odds :)

> and allowing certain features, such as
> nested modules or `import *`, can be harmful to programmer efficiency
> in the long term, if used.

Bingo.  Favoring the `exports` object instead of `module.exports` was
a mistake.  Implementing `import *` in Python and Java was a mistake.

Copying existing successful systems is good, but we should avoid
copying their mistakes if possible.

> Isaac, feel free to correct it.

Will do.  Probably not until after NodeConf early next week.

More information about the es-discuss mailing list