Comments for Harmony Fallout
Of course, you're right, WSH and ActiveScripting are different. It was lazy and inaccurate of me to conflate them. The clarification is appreciated.
Regards
But believe it or not, they have more than 3 interpreters running JScript side by side:
JScript in the WSH (version 5.6 - 5.7 WScript global),
Classic ASP JScript (5.6 - 5.7, different global)
JScript compact profile (ECMA-327)
The browser JScript (5.6)
JScript.NET (CLR, version 8.0)
ManagedJScript (DLR, complete rewrite)
- Faster end-user adoption of newer browsers, promoted by browser vendors (Microsoft, you and only you can kill IE6, the single greatest gift you can possibly give to the Web of 2008. Just do it.)
- Improved browser feature set and performance (support for Canvas, HTML5)
- Extended CSS features (constants, macros, more flexibility in specifying layout, animations, etc.)
- Continued improvements in VM performance for the existing ECMA3 language
- Improvements to/better implementations of DOM and other standard APIs
Actually, language changes to ECMA3 are WAAAY down on my wishlist. In fact, I'd rather the parties involved invest more energy in discussing these other issues, as the shortcomings of ECMA3 -- numerous though they may be -- pale in comparison to the desire for such improvements. I can only speak for myself, but I imagine many in the greater Web community might agree.
I agree also that implementations must lead the standards process to test ideas and solutions. Jscript.NET, ActionScript and Ejscript have all tested new concepts.
Ejscript (http://www.ejscript.org) will evolve and track ES-Harmony, but will keep quite a bit of ES4. Much like ActionScript, it will have extensions if ES-Harmony does not adopt some of these features from ES4.
WSH is not a virtual machine, it is a host process which communicates with Script Engines via COM interfaces. In fact, VBScript and JScript have separate 'virtual machines' - due to refcount vs gc semantics.
There are several Active Scripting hosts:
So, Internet Explorer is an Active Scripting host, which is how it's capable of running VBScript, JScript, ScreamingMonkey, Python etc