Odd idea

Brendan Eich brendan at mozilla.org
Mon May 19 16:42:51 PDT 2008

On May 19, 2008, at 4:22 PM, Mark S. Miller wrote:

>> Not sure if lack of replies means I was unclear, but the above  
>> number line
>> should help highlight an awkward truth: ES3.1 is a step sideways  
>> (and in
>> some ways backward) for "JS" as represented by Mozilla's  
>> implementations
>> (Rhino is tracking SpiderMonkey).
> Only "backward" if "more complex" is "forward" ;)

No, I mean "backward" in this sense: Mozilla's implementations have  
had getters and setters since 1999 or so. Other minority share  
browsers were forced to reverse-engineer them because Microsoft  
live.com launched with user-agent testing that expected them in non- 
IE browsers. This is old news, and backwards -- not progress, except  
to catch IE up. Good for developers, for sure. Enough after nine  
years? Hardly.

>> That's ok, standardizing post-hoc can be
>> good (making up new stuff for 3.1 is less clearly good in this  
>> light -- more
>> work needed to uphold the ES3.1 < ES4 subset relation).
> But ES4 is also sideways in this sense. There's a bunch of stuff in
> Mozilla's JS1.8 that didn't make it into ES4.

Namely? As noted, some pieces are prototypes that will be adjusted to  
match the ES4 type-based counterpart (the iteration protocol hook,  
e.g.). What bunch of stuff is in 1.8 that did not make it into the  
latest ES4 drafts?

> Also, there's a tremendous amount of stuff in ES4 that was never in  
> a JavaScript.

Except under the hood, off limits to programmers, reserved for the  
built-ins and the DOM.

>> Since JS has evolved ahead of the standard since 1999 (and did  
>> before then,
>> resulting in ES1 and ES2), a "JS3.1" does not make sense. Any  
>> ES3.1 standard
>> would be folded into JS2 or possibly JS1.9 (the numbers are  
>> decimals, so
>> 1.10, 1.11, etc. are possible too, but unlikely in my opinion).
> Glad to hear it's decimal. (Or at least binary floating point ;).) If
> ES4 does become known as JS2, then, taking up the "doubling"
> suggestion liorean mentioned, I suggest ES3.1 also be known as JS1.55.
> Its successor could then be JS1.57, etc...

I'm going to risk missing the joke and repeat that we wouldn't fold  
any 3.1 into a distinct *JS* version number. This is a serious point,  
since you proposed the unification of version number lines. Any ES3.1  
that's a small upgrade to ES3 should not require a new JS version  
number. With "no new syntax (apart from getters and setters)",  
programmers should be able to object-detect new methods, not resort  
to duplicative whole-script versioning. Right?

>> Separately from "JS3.1", my belief is that jumping from JS2 to JS4  
>> is not
>> helpful to "half" the audience (not truly half; who knows? could  
>> be by far
>> the majority, since "ECMAScript", .es suffix, etc. have not caught  
>> on) who
>> think in terms of the JS1.x evolution, however much it might help  
>> those
>> focused on the ES numbers.
> Surely you don't mean to suggest that ES4 represents a small
> evolutionary step beyond JS1.8? Wouldn't a larger increment be less
> misleading?

Larger than what? 0.2? The numbers are decimal tuples, so 2 - 1.8 is  
arbitrarily large in the second place. We don't know until we get  
there. The main point is to have a total order, not to "market" (or  
counter-market, in your case :-/) by fudging the gap to be small (or  


More information about the Es4-discuss mailing list