Ecma Script

The ECMAScript standard describes a Web ScriptingLanguage that can enrich and enliven Web pages in a Web browser. ECMAScript is the only standard scripting language on the Web; it is based on the ECMA-262 specification, which outlines an ObjectOriented ProgrammingLanguage for performing computations and manipulating objects within a host environment, such as the browser. For the complete ECMA-262 specification, see http://www.ecma-international.org/publications/standards/Ecma-262.htm .

The ECMAScript standard describes the language, but doesn't explicitly tie it to Web scripting. Although that is by far the most common use for the language, it is incorrect to assume that the DocumentObjectModel is somehow tied to the standard.


History

Started out as LiveScript (in September 1995) under Netscape Navigator 2.0 beta, Netscape changed the name to JavaScript in a joint announcement with Sun (December 4, 1995 - http://wp.netscape.com/newsref/pr/newsrelease67.html).

Originally based on the specification of and still commonly referred to as JavaScript. JavaScript is the Netscape implementation of the ECMAScript standard.

Note that despite having similar names, JavaScript and JavaLanguage are quite different languages.

BrendanEich is the creator of JavaScript ( http://wp.netscape.com/columns/techvision/innovators_be.html ).

The O'Reilly network has resumed the JavaScript history quite well here: http://www.oreillynet.com/pub/a/javascript/2001/04/06/js_history.html


Is EcmaScript actually used anywhere? I mean, IE uses JScript, not EcmaScript, and Netscape uses JavaScript. (More: MacromediaFlash uses EcmaScript in its scripting language ActionScript. SVG (ScalableVectorGraphics) uses it.)

JScript implements all of the EcmaScript specification (according to Microsoft's documentation) but extends it with additional features. The same applies to JavaScript. See also http://www.mozilla.org/js. These people work together with the ECMA committee for the next version of JavaScript and the 4th version of the standard. The Mozilla project has two open-source engines (one in Java and one in C) that can be embedded into other projects. Other groups have implementations of their own like Opera, KDE, Day, Lotus, SAP, etc.

EcmaScript is used or implemented in numerous environment:


KjsEmbed is a good example of an EcmaScript application outside of Netscape/Mozilla or InternetExplorer. Cheers, -- JasonNocks


"EcmaScript for XML (E4X) is a programming language extension that adds native XML support to EcmaScript (JavaScript). It does this by providing access to the XML document in a form that feels natural for ECMAScript programmers." -- http://en.wikipedia.org/wiki/E4X

See also:


ECMAScript Edition 4

ECMAScript Edition 4 / JavaScript 2.0 is hardly recognizable as JavaScript.

The ECMAScript 4 standard appears to be turning the language into a cross between JavaLanguage and PythonLanguage, mostly Java.

Yes, and based on my brief skim of the proposed standard (first link above), the JavaLanguage influence threatens to mortally wound the language. StrongTyping doesn't work. It doesn't work for CeePlusPlus, it doesn't work for JavaLanguage, and it threatens mortal injury to ECMAScript. The entire appeal of the current JavaScript standard is that it is NOT strongly typed. The PythonLanguage offers the same appeal. Should it continue in this direction, I hope that the industry ignores this alleged "standard" and continues to support the far-superior current standard. -- TomStambaugh

Somewhere in there (can't find it now) is a proposal to include Pythonesque generators [GeneratorsInPython] and ListComprehensions. Those would be fine with me, especially the comprehension as it's nice SyntacticSugar for what you can already do with JavaScript Arrays. But introducing "classes" and "interfaces" makes the language yet another boring ObjectOrientedLanguage. It's already OO as a PrototypeBasedLanguage, and as far as I'm concerned, it's the prototype-ness that makes JavaScript the fascinating, powerful language that it is (that and FirstClassFunctions... oh, and associative arrays, and ...). Per the proposed new ECMAScript standard, every object will still have a prototype, but I figure the Java-trained ArmyOfProgrammers won't notice it, find it interesting, or make use of it. Now, if browsers were to embed a RubyLanguage or PythonLanguage engine... -- ElizabethWiethoff


See also ActiveXscripting


CategoryJavaScript


EditText of this page (last edited July 6, 2006) or FindPage with title or text search