Infrequently Noted

Alex Russell on browsers, standards, and the process of progress.

Comments for Harmony Fallout


I think you're a little confused about WSH. WSH is Windows Script Host. It has nothing to do with web browsers - it is a host for Active Scripting languages within Windows and can be executed via the cscript.exe and wscript.exe binaries.

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:

  • WSH
  • Internet Explorer
  • IIS (ASP Classic)

So, Internet Explorer is an Active Scripting host, which is how it's capable of running VBScript, JScript, ScreamingMonkey, Python etc

by RichB at
Rich:

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

by alex at
Great article,

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)

by -TNO- at
As hot as passions seem to have been over the last year or so, I think the main concern for most working web developers is not the feature set or syntax of ECMA3. Speaking for myself, my wishlist looks like this:
  1. 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.)
  2. Improved browser feature set and performance (support for Canvas, HTML5)
  3. Extended CSS features (constants, macros, more flexibility in specifying layout, animations, etc.)
  4. Continued improvements in VM performance for the existing ECMA3 language
  5. 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.

As an implementor of ES4, I agree that the gradual typing system was very nice to use. Being able to define APIs and library definitions exactly and document (and enforce) the required types is much easier than alternative approaches. Many other parts of ES4 were very nice and I hope much is learned in ES-Harmony.

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.