Will Javascript ever be obsolete and replaced

What is the difference between JavaScript and ECMAScript?


What is the difference between ECMAScript and JavaScript? In my conclusions, ECMAScript is the standard and JavaScript is the implementation. Is that right?

Reply:


ECMAScript is the language, while JavaScript, JScript, and even ActionScript 3 are called "dialects". Wikipedia sheds light on this.







I think a little history lesson is due.

JavaScript was originally called Mocha and was changed to Livescript, but eventually became JavaScript.

It's important to note that JavaScript came before ECMAscript and history tells you why.

Initially, JavaScript derived its name from Java, and initially Brendan Eich (the inventor of JS) was asked to develop a language similar to Java for the web for Netscape.

However, Eich decided that Java, with all its rules, was too complicated, so he set about creating a simpler language that even beginners could code into. This shows in things like easing the need to have a semicolon.

After the language was complete, the Netscape marketing team asked Sun to allow them to call JavaScript a marketing stunt. Hence, most of the people who have never used JavaScript think that it is related to Java.

About a year or two after JavaScript was released in the browser, IE took over the language from Microsoft and began creating its own implementations like JScript. At the same time, IE dominated the market and not long after Netscape had to stop its project.

Before Netscape went down, they decided to start a standard called ECMAScript that would direct the path of JavaScript.

ECMAScript had a couple of releases and in 1999 they released their last version (ECMAScript 3) before going into hibernation for the next 10 years. During those 10 years Microsoft dominated the scenes but at the same time they didn't improve their product and so Firefox was born (led by Eich) and a whole host of other browsers like Chrome, Opera.

ECMAScript released its 5th edition in 2009 (4th edition was abandoned) with features like strict mode. Since then, ECMAScript has gained a lot of momentum and is expected to be releasing its 6th edition in a few months with the biggest changes it has had so far.

A list of the functions for ECMAScript 6 can be found here http://kangax.github.io/es5-compat-table/es6/ as well as the browser support. You can even start writing Ecmascript 6 like you did with CoffeeScript and use a compiler to compile up to Ecmascript 5.

Whether ECMAScript is the language and JavaScript is a dialect is questionable, but not important. If you keep thinking this way, you may be confused. There is no compiler that would run ECMAScript, and I believe JavaScript is considered to be the language that implements a standard called ECMAScript.

There are also other flashy languages ​​that implement ECMAScript, such as: B. ActionScript (used for Flash).







ECMAScript = ES:

  • ECMAScript is a standard for scripting languages.

  • Languages ​​like Javascript are based on the ECMAScript standard.

  • The ECMA standard is based on several original technologies, the most popular of which are JavaScript (Netscape) and JScript (Microsoft).

  • ECMA stands for European Computer Manufacturer's Association

JavaScript = JS:

  • JavaScript is the most popular implementation of the ECMAScript standard.

  • The main functions of Javascript are based on the ECMAScript standard, but Javascript also has other additional functions that are not included in the ECMA specifications / standards.

  • ActionScript and JScript are other languages ​​that implement ECMAScript.

  • JavaScript was submitted to ECMA for standardization, but due to branding issues with the name JavaScript, the standard was named ECMAScript.

  • Every browser has a JavaScript interpreter.

ES5 = ECMAScript 5:

  • ES5 is a version of the ECMAScript (old / current).

  • ES5 is the JavaScript you know and use in the browser today.

  • ES5 doesn't require a build step (transpiler) to turn it into something that runs in today's browsers.

  • ECMAScript version 5 was completed in December 2009. The latest versions of all popular browsers (Chrome, Safari, Firefox and IE) have version 5 implemented.

  • Version 5.1 was completed in June 2011.

ES6 = ECMAScript 6 = ES2015 = ECMAScript 2015:

  • ES2015 is a version of the ECMAScript (new / future).

  • Officially, the name ES2015 should be used instead of ES6.

  • ES6 will address many of the core language shortcomings addressed in TypeScript and CoffeeScript.

  • ES6 is the next iteration of JavaScript, but it doesn't run in today's browsers.

  • There are some transpilers that export ES5 to run in browsers.

BabelJS:

  • BabelJS is the most popular transpiler that converts new JavaScript ES6 into old JavaScript ES5.

  • BabelJS makes it possible to write the next generation of JavaScript today (means ES2015).

  • BabelJS just takes the ES2015 file and converts it to an ES5 file.

  • Current browser versions can now understand the new JavaScript code (ES2015), even if they do not yet support it.

TypeScript and CoffeeScript:

  • Both provide syntactic sugar in addition to ES5 and are then transcompiled into ES5-compatible JavaScript.

  • You write TypeScript or CoffeeScript and the transpiler converts it into ES5 JavaScript.







JavaScript = ECMAScript + DOM + BOM;

  • The ECMAScript® language specification defines all the logic for creating and editing objects, arrays, numbers, etc.

  • DOM ( D. OKUMENT O bject M. odel) makes it possible to (e.g. communicate) with HTML / XML documents.

  • BOM ( B. rower O bject M. odel) is the hierarchy of the browser objects (e.g. location object, history object, form elements).

History of JavaScript Naming:

Mocha ► LiveScript ► JavaScript ► (part of JS led to) ECMA-262 ► ECMAScript ► JavaScript (consists of ECMAScript + DOM + parts list)







Technically, ECMAScript is the language everyone uses and implements - it's the specification that was created many years ago when Netscape and Microsoft sat down and tried to standardize scripting between JavaScript (Netscape scripting language) and JScript (Microsoft) .

As a result, all of these engines supposedly implement ECMAScript, however JavaScript (the name) is now hanging around for both traditional naming reasons and as a marketing term used by Mozilla for their various non-standard extensions (which they actually want to "version"). )




What is ECMAScript ie ES?

ECMAScript is a standard for a scripting language and the Javascript language is based on the ECMAScript standard.

Is Javascript exactly the same as ECMAScript?

  • No, Javascript is not exactly the same as ECMAScript.
  • The main functions of Javascript are based on the ECMAScript standard, but Javascript also has other additional functions that are not included in the ECMA specifications / standards.

JavaScript = ECMAScript + DOM API;

DOM API like:

Do other languages ​​use the ECMAScript standard?

  • Yes, there are languages ​​other than JavaScript that also implement the ECMAScript standard as a core.
  • ActionScript (used by Adobe Flash) and JScript (used by Microsoft) are both languages ​​that implement the ECMAScript standard.

Why is it called ECMAScript?

  • Javascript was originally created at Netscape and they wanted to standardize the language. So, they passed the language of the E. uropean C. omputer M. creator of the A. ssociation (ECMA) for standardization.
  • However, there were branding issues with the Javascript name, and the standard was called ECMAScript, as it is still called today.
  • Due to branding issues, the Microsoft version of the language is called JScript - even though JScript is essentially the same language as Javascript.


Different versions of JavaScript are implementations of the ECMAScript standard.


I know this is an old post but hopefully this will help someone.

Various versions of js came out in the 1990s, such as Javascript from netscape, Js script from Microsoft. Therefore, Ecmascript was introduced as the standard. However, Ecmascript is only part of Javascript, which specifies its core syntax, types, objects, and so on. This probably explains the inconsistent implementations of Javascript in diff. Browser

Reference - Wrox (Professional Javascript for Web Developers)


As I understand it, ECMAScript is the "theory" or "specification" and Javascript is "practical" or "implementation".


JavaScript is a ECMAScript language.

ECMAScript is not necessarily JavaScript.


Existing answers describe the main point quite well.

The main point is that ECMAScript is the mere abstract language with no domain specific extensions, it is useless in and of itself. The specification only defines the language and the core objects of it.

While JavaScript, ActionScript, and other dialects add the domain-specific library, you can use it for something useful.

There are many ECMAScript engines, some of which are open source and some are proprietary. You can link them to your program and then add your native functions to the global object to make your program scriptable. Although they are mostly used in browsers.


Javascript was the original name to capitalize on the popularity of Java. ECMA is the standards body that oversees the standard that was eventually introduced so the names are roughly equivalent.

Implementations have other names like V8 or Rhino etc.


ECMAScript is a standard for JavaScrip . Check out these instructions from MDN :

JavaScript

JavaScript (JS) is an easily interpreted or JIT-compiled programming language with first-class functions. While it is best known as the scripting language for web pages, it is also used by many non-browser environments, e.g. B. node.js, Apache CouchDB and Adobe Acrobat. JavaScript is a prototype-based, dynamic, multi-paradigm language that supports object-oriented, imperative, and declarative (e.g., functional programming) styles. Read more about JavaScript.


ECMAScript

The standard for JavaScript is ECMAScript . As of 2012, all modern browsers fully support ECMAScript 5.1. Older browsers support at least ECMAScript 3. On June 17, 2015, ECMA International released the sixth major version of ECMAScript, officially called ECMAScript 2015, which was originally called ECMAScript 6 or ES6. Since then, the ECMAScript standards have been in annual publication cycles. This documentation applies to the latest draft version, which is currently ECMAScript 2018.

More information can be found here


Here are my results:

JavaScript: The Definitive Guide written by David Flanagan offers a very precise explanation:

JavaScript was created at Netscape in the early days of the web. Technically, "JavaScript" is a trademark licensed from Sun Microsystems (now Oracle) that is used to describe how Netscape (now Mozilla) implemented the language. Netscape submitted the language to ECMA for standardization, and due to trademark issues, the standardized version of the language was given the uncomfortable name "ECMAScript". For the same branding reasons, the Microsoft version of the language is officially referred to as "JScript". In practice, almost everyone calls the language JavaScript.

A blog post from Microsoft seems to coincide with what Flanagan explains with the words.

ECMAScript is the official name for the JavaScript language we all know and love.

.. which makes me think that all occurrences in this reference post (again from Microsoft) need to be replaced by. They actually seem to be wary of just using this newer and more technical documentation page.

w3schools.com seems to agree with the definitions above:

JavaScript was invented by Brendan Eich in 1995 and became the ECMA standard in 1997. ECMA-262 is the official name of the standard. ECMAScript is the official name of the language.

The key here is: the official name of the language .

If you check Mozilla's JavaScript version pages, you will see the following statement:

Outdated. The explicit versioning and activation of language functions was Mozilla-specific and is currently being removed. Firefox 4 was the last version that referred to a JavaScript version (1.8.5). With new ECMA standards, JavaScript language functions are often mentioned with their original definition in ECMA-262 editions such as ECMAScript 2015.

When you see the latest release notes, you will always see references to ECMAScript standards such as:

  • The ES2015 Symbol.toStringTag property has been implemented (bug 1114580).

  • The ES2015 TypedArray.prototype.toString () and TypedArray.prototype.toLocaleString () methods have been implemented (error 1121938).

Mozilla Web Docs also has a page that explains the difference between ECMAScript and JavaScript:

However, the umbrella term "JavaScript" as understood in a web browser context contains several very different elements. One of them is the core language (ECMAScript), another is the collection of web APIs, including the DOM (Document Object Model).

Conclusion

As I understand it, the word JavaScript is used somewhat liberally to refer to the core specification of ECMAScript.

I would say all modern JavaScript implementations (or JavaScript engines) are actually ECMAScript implementations. Check the definition of Google's V8 engine, for example:

V8 is Google's open source, high-performance JavaScript engine written in C ++ and used in Google Chrome, Google's open source browser, and Node.js, among others. It implements ECMAScript according to ECMA-262.

You seem to be using the word JavaScript and ECMAScript interchangeably, and I would say it is actually an ECMAScript engine?

Most JavaScript engines actually implement the ECMAScript standard, but instead of calling them ECMAScript engines, they call themselves JavaScript engines. This answer also supports the way I see the situation.


I doubt we would ever use the word "ECMAScript" if the name "JavaScript" didn't belong to Sun. In all respects, the language is JavaScript. You don't go to the bookstore looking for ECMAScript books, do you?

It's a little too easy to say that "JavaScript" is the implementation. JScript is Microsoft's implementation.






JavaScript is a branch of languages ​​that are built around the ECMAScript standard. I think ECMA is the European Computer Manufacturers Association, not that this is really relevant or anything.

Don't forget that ActionScript used in Adobe Flash / Flex is another popular language that revolves around the ECMA scripting standard.

We use cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content and targeted ads, to analyze our website traffic, and to understand where our visitors are coming from.

By continuing, you consent to our use of cookies and other tracking technologies and affirm you're at least 16 years old or have consent from a parent or guardian.

You can read details in our Cookie policy and Privacy policy.