|This article is of interest to the following WikiProjects:|
|This article is substantially duplicated by a piece in an external publication. Please do not flag this article as a copyright violation of the following source:
- 2 Discussion
- 4 please consider merging ECMAScript Variables into this article
- 5 Out of place product plug
- 6 History section incorrect
- 7 Influenced by perl?
- 8 Mobile
- 9 References
- 11 ECMAScript Mobile Profile
- 12 Java influence
- 13 Ejscript
- 14 EMCAScript 4 to EMCAScript 3 compilers
- 15 edition 4?
- 16 Y2K issues inherited from Java
- 18 why not EcmaScript?
- 19 Strict mode (5) support
- 20 ECMAScript 5th Edition
- 21 Ecmascript conformance test
- 22 Internet Explorer 10 RTM
- 23 Score table issue
- 24 ECMAScript 5.1 in html5.id.toc
- 25 ECMAScript Internationalization API
- 26 Shim for support in older browsers
- 27 Is ECMAScript a "C family" programming language?
- 28 Harmony, 6th Edition - Unclear
- 29 ES6 or ES2015?
- 30 External links modified
I would say this is simply false:
- people who refer to "ECMAScript" always mean (some version of) the specification;
- people who refer to "JScript" (or "ActionScript", etc.) always mean those specific implementations.
...Warren Gaebel, B.A., B.C.S. ...220.127.116.11 (talk) 14:45, 4 April 2013 (UTC)
The article is very bad.
ECMA-262 is the still the one and only language specification (currently in its 3rd edition) of the ECMAScript language. ECMA-357 defines just a language extension for ECMAScript called E4X (for better dealing with XML) but it does not define or revise the language itself, i.e. ECMA-357 is not revision 4 of the ECMAScript language!
To quote from the ECMA-357 standard: "This Standard was developed as an extension to ECMAScript Edition 3" and "This Standard will be integrated into future editions of ECMA-262 (ECMAScript)".
The table about the dialects and its corresponding ECMAScript editions is wrong, too. JScript.NET does not implement ECMA-357 but implements Microsoft's draft of ECMAScript 2.0. To quote from Microsoft MSDN: "In addition, JScript .NET is being developed in conjunction with ECMAScript Edition 4 and incorporates many of the proposed features of that language as well."
Edition 4 of the ECMA-262 language specification will define ECMAScript 2.0, but is not officially announced yet. It is very likely that the language will differ from the current version of ECMAScript in many ways. For example, the current version of ECMAScript uses object-based inheritance with prototypes whereas ECMAScript 2.0 will support class-based inheritance, too. Today, there are some drafts and prototypical implementations like JScript.NET but edition 4 is not officially adopted by ECMA.
- I tried to clear up the confusion, removing the false references to E4X being ECMA-262 edition 4. --asqueella 22:10, 10 July 2005 (UTC)
2006.01.31 0949 ETZ
Updated: the Dialects section in response to Firefox 1.5 being out of Beta. Also changed the link to the Moz E4X docment.
-Derek A. Muenzel
email@example.com — Preceding unsigned comment added by 18.104.22.168 (talk) 14:51, 31 January 2006
please consider merging ECMAScript Variables into this article
Merging will improve the quality of THIS article and remove an article which is probably not worthy of remaining as a stand-alone article. Both need some rewrite work to bring them up to standard, however. —Preceding unsigned comment added by Jayron32 (talk • contribs) 03:28, 29 September 2006
Out of place product plug
History section incorrect
The following comments were left in the history section of this article by an anonymous user (diff):
- The initial history is not entirely correct. Netscape, then Mosaic Communications Corp developed a server-side scripting language named LiveScript for their commercial web server offering. LiveScript made its public introduction about the same time NCSA forced MCC to change its name to Netscape.
The anonymous user is mistaken about at least three things:
1. I developed "Mocha" (the original codename) as an embeddable interpreter meant for use in both Netscape's server and client, in about ten days in May 1995 (Ken Smith helped by translating java.util.Date, Y2K bugs and all, into C to implement the Date class). This was intended to go in the client and server in the same release, the 2.0 version of Navigator and the matching server and authoring/site-management tools release. The "LiveScript" name came about later, after a trademark search found "Mocha" already in use in the field of software.
2. The anonymous user's chronology is all wrong. My work creating the Mocha interpreter in May 1995 was well after NCSA forced Mosaic Communications Corporation to change its name (I joined Netscape, not MCC, in early April 1995).
Cleanup based on false anonymous claims should wait for corroborating testimony from eyewitnesses (primary sources all died on old machines like the SGI Indy I used at the time).
--Brendan Eich 14:43, 27 February 2007 (UTC)
- There isn't much point in waiting for "corroborating testimony" - the present text gives no sources for its claims, and has had a cleanup tag on it for 2 months now. Even if your rewrite will have no references either, it will be no least authoritative at worst - and taking into account your unique position, your version would certainly be the preferred one. So, be bold and just fix it =) -- int19h 18:15, 27 February 2007 (UTC)
- I was personally involved in the history, obviously, so I thought it would be better if someone else made the edits. If it's kosher for me to correct the history section, let me know and I'll do it. Thanks. --Brendan Eich 04:40, 23 October 2007 (UTC)
- I don't see anything in the Wikipedia policies precluding you from doing the edits on this article. WP:AUTO hardly applies. At any rate, it's community concensus that matters here, and I do not think anyone would object. If they will, they can easily revert the edit. -- int19h 06:21, 23 October 2007 (UTC)
Origins of LiveScript
Nombas's ScriptEase product subsequently converged with ECMAScript, the company was subsumed into OpenWave and ScriptEase was withdrawn from market.
I have found little information on exactly how much CEnvi influenced LiveScript. Nombas's history is silent on the topic, although the use of the word "version" suggests that the language was compatible, if implemented independently. At least one source makes an explicit claim of derivation:
This is probably meant to refer to LiveScript and CEnvi as a language, rather than as a software system.
Another source implies that only the 'idea' of client-side scripting was transmitted.
The only documentation I have on the ScriptEase product comes from the era when it was ECMAScript-compliant, so I do not know precisely what the language looked like prior to 1995. However, I can say from reading the docs carefully that the language must have had a significant resemblance to ECMAScript from its inception: namely a C-like syntax and an object-prototype model. Neither of these features are in themselves original, but I suspect that it's language design was used by Netscape as a basis for LiveScript.
Anyway, if this heritage is true, what concerns me is the many widespread implied assertions that the language we know today as ECMAScript originated in LiveScript with Brendan Eich. This belief is found in many texts (including the ECMA 262 document itself), and is usually phrased to read that Netscape developed LiveScript independently and originally:
BuildSubsArray() function. However, was Cenvi itself modeled on something else, I do not know. DLeonard 15:33, 26 January 2007 (UTC)
Influenced by perl?
I found it weird to see that ECMAScript had *Perl* in its list of influenced, so I removed it. User:Mfc added it back with the comment "ECMAScript regular expression definition was explicitly based on Perl". If that's the logic behind listing it in influences, then why don't we also list C (JS syntax was explicitly based on C), Java (the name), and so on? Perl-like regular expressions are part of most modern languages, so it's not worth listing perl as an influence just because of that IMO. --asqueella 17:21, 17 February 2007 (UTC)
[added later] brendan says above "my influences were awk, C, HyperTalk, and Self, combined with management orders to "make it look like Java.". Perhaps this is what should be in the article? --asqueella 16:51, 23 February 2007 (UTC)
- I think the point was that regexps as a feature inherent to the language (and not, say, part of a standard library) originate from Perl. Nonetheless, I do not think it is enough to classify ECMAScript as influenced by Perl - by that logic, we'd have to say that it is also influenced by Pascal, since that's where the keyword "var" comes from... -- int19h 19:36, 17 February 2007 (UTC)
- I'm not sure I follow the question, here. I chaired the meetings where the regular expressions from Perl were incorporated into the ECMAScript language standard (Brendan Eich was there, too). That committee decided to use the Perl definition for regular expressions (with some modifications, clarifications, and corrections) as the basis for those in ECMAScript. In fact (as far as I have been able to find) that was the first standardization of regular expressions. Both languages influenced and improved each other, at many times. mfc 20:50, 24 February 2007 (UTC)
- My apologies, I did not realize you were adding it from your own experience. These lists are not sourced (it's pretty hard to find a source backing the "influenced by" claim, apart from the authors themselves), so there's always doubt about what should and what shouldn't go there. It seems clear enough now. BTW, one more thing to do - the languages listed in "influenced by" section here should in turn have ECMAScript in their respective "influenced" sections. -- int19h 10:18, 25 February 2007 (UTC)
- We could also use more information up here about the ECMAScript Mobile profile. Mathiastck 21:06, 5 September 2007 (UTC)
An Errata for ECMA262-3 exists at http://www.mozilla.org/js/language/E262-3-errata.html ; it, or a better Errata, should be mentioned.
ISO/IEC 16262 should have a references entry. It's fundamentally the same, but some errors are corrected, including a rather trivial obvious one not in those Errata. I found it via www.iso.org, I think. Some might prefer its font!
22.214.171.124 11:09, 6 August 2007 (UTC)
I am in no way well-informed on this subject, but I had always thought that ECMAScript codifies the underlying grammar of the language, but is not an implementation for HTML Web Browsers in itself?
ECMAScript Mobile Profile
The article needs a section on the new ECMAScript Mobile Profile ("ECMAScript Mobile Profile" already forwards here -- but there's no info on it...). —Preceding unsigned comment added by 126.96.36.199 (talk) 10:51, 9 March 2008 (UTC)
My rationale for including Java as an influence: Brendan Eich admits that it influenced both the look and standard library of JS, even some of the fundamentals. And yes, JS does have a standard library (Object, Number, Date, String, etc.) From http://weblogs.mozillazine.org/roadmap/archives/2008/04/popularity.html:
The diktat from upper engineering management was that the language must "look like Java".
The Java influences, especially y2k Date bugs but also the primitive vs. object distinction (e.g., string vs. String), were unfortunate.
- The Y2K bugs had nothing to do with either of those languages directly (refer to the Wikipedia article for some more details on this). Also, Java doesn't have quite the distinction between primitives and their corresponding objects (
new Boolean("false") != false, while in Java:
boolean bool = new Boolean("false");and
boolean bool = false;do exactly the same thing. — Preceding unsigned comment added by Impinball (talk • contribs) 17:29, 18 January 2014 (UTC)
I object to the campaign to remove all references to Ejscript from Wikipedia. This unreasonable to remove references to one of the very few implementations available of the new Ecmascript 4 standard. Other implementations noted on this page are arguably less "notable". I think those removing references need to read up on the current literature and be aware of the more recent happenings with ES4 and ECMAscript before removing such references. Michael O'Brien (talk) 19:09, 21 July 2008 (UTC)
- First off, there is no campaign. Ejscript was found to be not notable and without reliable sources by consensus. By then adding references to other articles without citing and referencing is also against policy and tantamount to vandalism. You may object to this as much as you like but the removal of these uncited and unreferenced additions to articles is well within policy. I have left the references alone in certain contexts that seem to warrant the inclusion of the references. As for the other stuff, I am going through them as I come across them. Thanks for the note to look at those software/languages as well.
- Please remove the redlink unless you can cite or reference the inclusion of this to the article. --Pmedema (talk) 06:20, 22 July 2008 (UTC)
EMCAScript 4 to EMCAScript 3 compilers
There are two EMCAScript 4 to EMCAScript 3 compilers available:
- Jangaroo is a compiler from an ECMAScript 4 subset to ECMAScript 3 implemented in Java.
- Mascara is a compiler from an ECMAScript 4 subset to ECMAScript 3 implemented in Python.
- They appear to be legit tools... look over WP:ELNO and if you think that it passes that then I don't see a problem with it. --Pmedema (talk) 09:02, 24 July 2008 (UTC)
In the light of unfortunate recent events, if ES4 ever happens it will look nothing like the drafts implemented in ActionScript etc. So what do all these references to "ECMA-262, Edition 4" in the article mean anymore? Isn't it more appropriate to call it a fork? A retrofork, kinda. --188.8.131.52 (talk) 20:38, 25 August 2008 (UTC)
- Sounds like you're an unfortunate victim of Slashdot (or other sensationalist news source). Please read the ES Harmony section in the article. --Maian (talk) 06:01, 26 August 2008 (UTC)
Y2K issues inherited from Java
ECMAScript's Date object is based off Java 1.0's java.util.Date, which has a couple Y2K-noncompliant methods (and constructor). What I mean by "Y2K-noncompliant" is that functions that used these methods could easily have incorrect results when concerning a date >= 2000, if they did not account for that issue. --Maian (talk) 02:44, 31 August 2008 (UTC)
- OK I see what you mean now. having a date based on 1900 as year zero is of course not Y2K noncompliant, according to the Java specification and my tests this now deprecated function correctly returns 108 for 2008 and -1 for 1899. It does make it very likely that programs written using it before 2000 would be non compliant (and just assume that this is the displayable year). I have changed the text from "Y2K non compliant" to "non Y2K friendly". -- Q Chris (talk) 12:04, 31 August 2008 (UTC)
why not EcmaScript?
- Yes, why not? Rursus dixit. (mbork3!) 15:17, 10 May 2011 (UTC)
Strict mode (5) support
ECMAScript 5th Edition
… has been approved (Dec 2009): http://www.ecma-international.org/publications/standards/Ecma-262.htm As I am new to this, I won't edit / add anything to the article. Can somebody please do this? --184.108.40.206 (talk) 18:39, 15 September 2010 (UTC)
Ecmascript conformance test
There is a new conformance test for Ecma script.
- The test itself still needs to be listed in the article because it is relevant to this article. Browsers test results (or marketshares) listed on wikipedia are always in need of maintenance. That is not really a problem. As long as is evident which version is tested and/or when the result was relevant. Ecma has also versioned the test so changes in the test can easily be noticed. 220.127.116.11 (talk) 00:30, 21 March 2011 (UTC)
- In the Implementations section, "KHTML layout engine, KDE's Konqueror, and Apple Inc.'s Safari" are listed as ECMAScript Ed 3, yet Safari is currently the most complaint with the conformance test (so I assume the related family are also compliant). So should their conformance be upgraded to ECMA-262 Ed 5 or 5.1? — Preceding unsigned comment added by 18.104.22.168 (talk) 01:35, 18 August 2014 (UTC)
Internet Explorer 10 RTM
Here it says it gets 0 errors in Test262 but I do get 7 fails with Internet Explorer 10 RTM 64-bit.
Score table issue
I do NOT get any of the numbers of the "Conformance test" table regarding Opera, Google Chrome, and Firefox, using the same "Pre-release version" stated as of 2012/09/23 there I get:
Opera: Tests To run: 11571 | Total tests ran: 11571 | Pass: 11567 | Fail: 4 | Failed to load: 0
Google Chrome: Tests To run: 11571 | Total tests ran: 11571 | Pass: 11568 | Fail: 3 | Failed to load: 0
Mozilla Firefox: Tests To run: 11571 | Total tests ran: 11571 | Pass: 11407 | Fail: 164 | Failed to load: 0
However I get the same 1/11571 in Internet Explorer 10.
I get different results for Chrome stable on Windows Vista (9 failures) vs Windows 8 (3 failures). How should we display this in the table? Also, do we want to list mobile browsers?
ECMAScript 5.1 in html5.id.toc
I have re-redered the original html-format of the spec to html5.id.toc with these advantages:
- all elements have ids, thus anyone can refer to any part of the doc.
- automatically created table-of-contents facilitates reading.
- clicking on text it shows its address and its position on toc.
- link-preview makes reading fast.
The address of the doc is: http://synagonism.net/standard/techInfo/ecma.262.51.2011.html. Because of course I consider this doc important I have added an external-link to this doc in the article on 2013.06.25. But administrator Alexf deleted the link as spam because it is stored in my site and he thinks I promote my site. If and other readers think that my doc is important, in relation to existing pdf link, anyone could add the link. Thank You. Synagonism (talk) 14:44, 25 June 2013 (UTC)
ECMAScript Internationalization API
Ecma International has approved standard ECMA-402, ECMAScript Internationalization API Specification. I'm the editor of that standard and have written or contributed to most of the reference materials, so I'm not going to add anything to the page myself, but if others find the information below relevant, please take it. When adding it, it might make sense to combine it with the existing text about ECMA-357 and ECMA 327 into a new section "Complementary Standards" - these standards all build on ECMA-262, but are separate.
Reference for Website section: ECMA-402
Text for External Links: ECMA-402 ECMAScript Internationalization API Specification (December 2012)
Shim for support in older browsers
Perhaps a section is needed to mention shims which give some ECMA5 supoprt to older ECMA3 browsers? es5-shim and ddr-ecma5 come to mind. — Preceding unsigned comment added by 22.214.171.124 (talk) 11:52, 9 April 2014 (UTC)
Please see Wikipedia:Categories_for_discussion/Log/2014_October_24#Category_talk:C_programming_language_family. Andy Dingley (talk) 12:19, 24 October 2014 (UTC)
Harmony, 6th Edition - Unclear
Should this section be deleted? It is tagged as Outdated, and it appears that the content within this section relates to the older versions and decisions made with those earlier versions. The information in the "Versions" table further up the page actually was more useful than the info shown under the current section. I may be wrong though, as I am no expert in ECMAScript, I came here to find more info on the latest version, and just felt I had to add a comment, as it was confusing to read. — Preceding unsigned comment added by 126.96.36.199 (talk) 17:15, 2 November 2015 (UTC)
ES6 or ES2015?
- Why name changed (aliased?) at the end of 2015?
- Why use year based versioning?
- ES7 or ES2016?
- ES6 was officially named ES2015. This was a bit controversial and surprised some people, including committee members such as Brendan Eich, but it remains. II | (t - c) 04:44, 12 December 2015 (UTC)
Hello fellow Wikipedians,
I have just modified 2 external links on ECMAScript. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
- Added archive https://web.archive.org/web/20131104082608/http://www.ecma-international.org/publications/standards/Ecma-357.htm to http://www.ecma-international.org/publications/standards/Ecma-357.htm
- Added archive https://web.archive.org/web/20131104082608/http://www.ecma-international.org/publications/standards/Ecma-357.htm to http://www.ecma-international.org/publications/standards/Ecma-357.htm
When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at
You may set the
|checked=, on this template, to true or failed to let other editors know you reviewed the change. If you find any errors, please use the tools below to fix them or call an editor by setting
|needhelp= to your help request.
- If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
- If you found an error with any archives or the URLs themselves, you can fix them with this tool.
If you are unable to use these tools, you may set
|needhelp=<your help request> on this template to request help from an experienced user. Please include details about your problem, to help other editors.
- Ecma publishes new standard ECMA‑402: ”ECMAScript Internationalization API Specification” Ecma International. 2012-12-12.
- The ECMAScript Internationalization API
- Mozilla Developer Network: Intl retrieved 2013-08-05