complexity tax

Mark Miller erights at
Mon May 19 18:54:38 PDT 2008

On Mon, May 19, 2008 at 4:46 PM, Brendan Eich <brendan at> wrote:
>> These essential features will be added without
>> resorting to new syntax.
> New syntax is what's needed to make these usable. Who wants to use
> Object.defineProperties on a closure to bind a read-only property
> when you could use 'const'?
> The problem with Object.defineProperties, apart from standardizing it
> in two committees, is the verbosity and (at the limit) overhead.
> There's really no reason not to have better UI for the underlying
> semantics.

I agree that it would be nice to have better syntactic conveniences
for some of these features. I also agree that the ES4 syntax has some
decent conveniences. Given the inescapable legacy compatibility
constraints, it's amazing how well they turned out; kudos! If I could
have a language with some of the syntactic conveniences of ES4 but
without ES4's semantics, I'd be quite happy. My "Classes as Sugar"
proposal <>
suggests how some of ES4's syntactic conveniences  could be applied to
a language with only ES3.1's semantics.

However, so long as ES4 ties these syntactic conveniences to ES4's
semantics, ES3.1's successors cannot grow in the direction of the
"Classes as Sugar" proposal without violating the subset agreement.
Given our current situation, I think maintaining the subset agreement
is more important. For some, ES3.1 is too little. For others, ES4 is
too much. From prior discussions, I don't believe it's possible to
find something in the middle that we can all agree on -- though I
would still like to!

Text by me above is hereby placed in the public domain


More information about the Es4-discuss mailing list