Nailing object property order

Brendan Eich brendan at
Thu Apr 16 18:37:57 UTC 2015

Also, it's too late. Engines are converging, inter-operation pressure 
points in one direction only: greater convergence and standardization.

It's true engines are not converging on the ancient insertion order, and 
that caused some interop stress, but we are over that hump now. See 
(a long, and long-resolved, V8 issue).

Bergi's frustration is understandable. Leaving things unspecified for 
too long was a failure on our part in tending the spec, or a trade-off 
(we had other things to do ;-). All water under the bridge, but we're 
not stepping back to unspecified behavior. Because engines aren't, 
because developers do not want.

And agree with Mark: POITROAE.


Mark S. Miller wrote:
> Developer productivity > hypothetical minor performance gains.
> +1 to all steps to make the specified behavior more deterministic, 
> including this one.
> On Thu, Apr 16, 2015 at 10:07 AM, liorean <liorean at 
> <mailto:liorean at>> wrote:
>     I'm very much opposed to locking this down for general objects because
>     it locks the implementation choices for generic objects down. What if
>     the engine backing implementation was, say, some variation of a trie
>     for instance? It cannot really be done today without adding extraneous
>     data into the structure, because lookup in that case happens on a
>     character by character basis, not on a whole string basis, so
>     properties that use common prefixes would always end up adjacent and
>     even if the keys weren't inserted in order by bit patterns into the
>     trie as most implementations do, they would still be grouped by common
>     prefix.
>     --
>     David "liorean" Andersson
>     _______________________________________________
>     es-discuss mailing list
>     es-discuss at <mailto:es-discuss at>
> -- 
>     Cheers,
>     --MarkM
> _______________________________________________
> es-discuss mailing list
> es-discuss at

More information about the es-discuss mailing list