complexity tax

Brendan Eich brendan at
Mon May 19 16:46:43 PDT 2008

On May 19, 2008, at 4:32 PM, Douglas Crockford wrote:

> Brendan Eich wrote:
>> On Mar 26, 2008, at 10:01 AM, Ric Johnson wrote:
>>> Let us take action instead of throwing opinions around:
>>> Brendan: What new features that can not be implemented via code
>>> constructs now?
>> This is reductionism, therefore between silly and wrong, but I  
>> will list
>> a few things:
>> * you can't make read-only properties in ES3;
>> *you can't make don't-delete properties of plain old objects (only  
>> vars
>> in closures);
>> * you can't make objects that cannot be extended;
>> * you can't make don't-enum properties in plain old objects;
> It looks like these omissions will be corrected in ES3.1 by the
> Object.defineProperties function.

Of course, Ric asked "What new features [...] can not be implemented  
via code constructs now?" Code constructs added in 3.1, with or  
without new syntax, don't count.

> 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  


More information about the Es4-discuss mailing list