0

In 1995 Netscape created JavaScript, followed by Internet Explorer that also created JScript.

As I understand, so as to avoid the "Best viewed with IE" or "Best viewed with Netscape" and make the life easier for programmers, the ECMAScript standard was developed, and JavaScript was standardised (JScript also adopted the standard).

Taking into account that JavaScript is a trademark of Oracle Corporation, why modern browsers like Chrome or Opera used that old implementation of ECMAScript (JavaScript) in a time where the dominant web programming language was JScript, instead of creating a new implementation also compliant with the ECMAScript specification?

In other words: JavaScript is the Netscape/Mozilla implementation of the ECMA specification, and JScript is Microsoft dialect of ECMAScript. Why Chrome adopted JavaScript and didn't create, for example, ChromeScript or an implementation without trademark?

Raial
  • 57
  • 8
  • What do you mean with "implementation"? ECMAScript is commonly known and referred to as JS nowadays. – Jonas Wilms Jun 07 '20 at 15:55
  • I don't know what "old" implementation you think Chrome used? Their current Javascript engine is V8 which is now also used by Microsoft Edge and Node.js. – jfriend00 Jun 07 '20 at 16:13
  • From [this post](https://stackoverflow.com/questions/4271676/what-is-the-difference-between-javascript-and-ecma-script): "ECMAScript is a standard. JavaScript is an implementation of that standard". "Other implementations of ECMAScript are ActionScript and JScript." – Raial Jun 07 '20 at 16:13
  • @jfriend00 I said "old" because at the time Chrome or Opera appeared, IE dominated the market and everybody used JScript. – Raial Jun 07 '20 at 16:20
  • 2
    I don't get what your question is? Chrome does not use anyone else's Javascript engine. It was originally released with V8 as its Javascript engine. V8 was a NEW implementataion. As for Javascript engines, there are "SpiderMonkey" (Mozilla/Firefox), "JScript" and "Chakra" (Microsoft), "JavscriptCore" (Safari/webKit), V8 (Chrome, Edge, Node.js) and so on... – jfriend00 Jun 07 '20 at 16:34
  • @jfriend00 I know Chrome created V8, but it was a JavaScript Engine. The question is why they didn't create, say, ChromeScript instead of adopting JavaScript in a time the dominant web language was JScript (as IE was the dominant browser and they never adopted JavaScript). I understand they all are ECMAScript implementations, but they have differences. Chrome could have created its own instead of adopting a trademarked language. I updated the post so as to be more clear. – Raial Jun 07 '20 at 16:48
  • 1
    V8 implemented to the ECMAScript specification and it's developers are significant contributors to future version of that specification - nothing more, nothing less. At the time Chrome was introduced (and still mostly today), the public calls the language Javascript event though the standards-body uses ECMAScript as the "official" name. If Chrome never mentioned "Javascript" support and only mentioned ECMASCript support, the general public would have been confused because the term "Javascript" is what most of the public thinks is the language in web pages. – jfriend00 Jun 07 '20 at 16:56
  • So, now is your edited question just asking why Google didn't use it's own name for it's implementation of ECMAScript instead of referring to it as Javascript? Why does that matter at all? – jfriend00 Jun 07 '20 at 16:57
  • And, the title of your question is just wrong. Chrome DID create its own implementation of ECMAScript. That engine is called V8 and it's used in many places now. – jfriend00 Jun 07 '20 at 16:59
  • They wrote an implementation of JavaScript, not of JScript. That's why they called it like that. There was no point in designing their own language that's ECMAScript-compatible but somehow different. – Bergi Jun 07 '20 at 17:28

1 Answers1

2

Why didn't Chrome create its own implementation of ECMAScript?

Chrome did create their own implementation of ECMAScript. The engine that ran their implementation of ECMAScript was and still is called V8 and is still in use today. In fact, it's now used by Chrome, Edge and Node.js (and others).

The public at the time didn't really know the phrase ECMAScript - they mostly just new about Javascript from Firefox and perhaps knew about JScript in IE. When Javascript was taken to a standard's body, they decided they wanted a name that had no trademark affiliation at all. In the words of Brendan Eich (the inventor of the language), the term "ECMAScript" chosen as clearly no trademark association at all and ugly enough that nobody would ever actually use the term in a user-facing product.

ECMAScript was not and still is not something John Q Public would know about (if not a developer). People knew of "Javascript" from the original Netscape days and currently at the time in Firefox/Mozilla. Some people knew that Microsoft's competing implementation that was similar (but not identical) was called JScript. Though even people developing largely for IE at the time would refer to Javascript as the language they were writing.

So, when Google developed their own new implementation of ECMAScript, they referred to it to the public as Javascript. That was just a name used to describe their implementation. That name meant NOTHING at all about its heritage. The V8 Javascript engine was entirely new, not a spin-off from something else.

To summarize, V8 is designed to be ECMAScript compatible and is known to the public in Chrome as a Javascript implementation.


In a note of history, "Javascript" was originally developed at Netscape. "Java" was originally developed at Sun Microsystems. Somehow in the relationship between Netscape and Sun Microsystems, Netscape was allowed to use the term "Javascript", but Sun actually owned the trademark on it. Eventually, the Netscape browser was spun out into the Mozilla foundation and Sun was acquired by Oracle. So, yes Oracle owns the trademark to the term "Javascript", but many are allowed to use it to describe their implementations of ECMAScript. Other companies, at various times, have preferred to stay completely away from any possible trademark issues and that's why others have use JScript, ActionScript, etc... to name their implementations.

You would need a trademark lawyer to go deeper into the legal issues around using the term Javascript.

When Mozilla spun out of AOL/Netscape as an independent company, they had a few firedrills around whether they could continue to use the term "Javascript" in their code and user interface. Some of those are documented in their bug system. I don't know the precise legal dealings that decided it all, but suffice it to say that they are still using the term "Javascript" many, many years later. Sun Microsystems wasn't bothered by that at the time and even a more litigious Oracle who now owns the trademark (by way of its acquisition of Sun) has not tried to stop its use at Mozilla or other places.


Keep in mind that V8 in Chrome implements a language to the ECMAScript standard. Chrome extends ECMAScript as do all browsers by adding their own global objects to the environment such as the window object in the browser. Those global objects in the browser are standardized in different standards efforts that have to do with browsers, not with the actual ECMAScript language.

jfriend00
  • 683,504
  • 96
  • 985
  • 979
  • Thank you!! I clearly misunderstood ECMAScript vs JavaScript and it brought me to confusion. I found [this](https://stackoverflow.com/a/50300416/6788903) answer useful too (for ES vs JS). **"ECMAScript is the official name of the language we all know as JS."** – Raial Jun 08 '20 at 08:02
  • 1
    See also: [Legal ramifications of use of the JavaScript trademark](https://softwareengineering.stackexchange.com/questions/135905/legal-ramifications-of-use-of-the-javascript-trademark) – Bergi Jun 08 '20 at 08:18
  • 1
    "*the term "ECMAScript" [has] clearly no trademark association at all*" - actually, it is a registered trademark of ECMA. – Bergi Jun 08 '20 at 08:19