| OB | NB |
----+----+----+
 OC |    |    |
----+----+----+
 NC |    |    |
----+----+----+

(OC = Old Code, NC = New Code, OB = Old Browser, NB = New Browser)

If we are talking about keeping JavaScript user-friendly, we have actually only 
tackled the second column: How new browsers handle old code and new code. Old 
browsers encountering old code is not a problem. But how about new code being 
encountered by old browsers? I keep thinking that that use case is relevant for 
the current “mode” discussion: If we achieve perfect user friendliness for new 
browsers, it is all for naught as soon as you deploy and have to support old 
browsers.

Lastly, there is one aspect of automatic language version detection that I 
still don’t understand: With David Herman’s solution, I’d expect browsers to 
first scan all of the code and then determine what semantics to use (at least 
conceptually/abstractly, possibly not in the actual implementation):
- Found ES6 language feature => ES6 semantics (a few breaking changes, if any)
- Found "use strict" => ES5.strict semantics
- None of the above => ES3 semantics

I’ve seen the idea mentioned that there should be mixed semantics: E.g. ES3 
semantics with some ES6 features. When would that matter (except while 
developing ES6)?

-- 
Dr. Axel Rauschmayer
a...@rauschma.de

home: rauschma.de
twitter: twitter.com/rauschma
blog: 2ality.com

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to