Es4-discuss Digest, Vol 8, Issue 44

Brendan Eich brendan at
Tue Oct 30 18:24:00 PDT 2007

On Oct 30, 2007, at 5:36 PM, Ric Johnson wrote:

> On 10/31/2007, "Brendan Eich" <brendan at> wrote:
> Brendan,
> I know that a version string may help us avoid incompatibilities,  
> however
> I am also cognizant that this may serve the purpose of fragmenting the
> language.  Look at what happened with VbScript.

VBScript is full of lessons to avoid, but don't borrow trouble. The  
opt-in versioning for ES4 required only to use new keywords that were  
not reserved by ES3, or even if listed among ES3's future reserved  
keywords, were not reserved by IE.

>   If we open the door to
> the version string, then Microsoft could add their own interpretation.

The standard for ES4, as proposed at that versioning wiki page above,  
mandates what implementations must do when interpreting certain  
values of the version parameter named by RFC 4329.

We really can't stop anyone from adding interpretations allowed by  
the RFC, unless we mandate that no other values are recognized unless  
codified by future Editions of ECMAScript. Would that address your  
concern? Even that kind of injunction is just words on paper.  
Microsoft or anyone else could ignore it. I mean, it's not as if  
JScript does not deviate from ES3 in obvious (and easily fixed) ways.

> I went through the pain of trying this with earlier JavaScript, and it
> never worked.  It is not standard practice just to use the <script>  
> tag
> 'plain'

Sure, but you have now argued in a circle. If the script tag handler,  
upon seeing <script> (no type or version selected), invokes the  
ECMAScript implementation so that it understands new ES4 keywords,  
then the browser behaves incompatibly from today's browsers, and  
you've just broken the web.


More information about the Es4-discuss mailing list