Click here to Skip to main content
13,148,214 members (60,159 online)
Click here to Skip to main content
Add your own
alternative version

Stats

6.7K views
4 bookmarked
Posted 13 Jun 2016

The JavaScript, EcmaScript and the History

, 13 Jun 2016
Rate this:
Please Sign up or sign in to vote.
This article is all about the JavaScript, ECMAScript, basic terminology and release history

Introduction

As a professional and student of JavaScript, last couple of years have been quite exciting, as a lot of new features came and future releases and specifications are making things very interesting.

But as much as the JavaScript language is interesting, its vocabulary and terminologies and release history is a bit complex.

In this article, I will dive into these details with a bit of history.

History

JavaScript was developed by Brendon Eich in May 1995, while working in Netscape. He was asked to create Java like language for the web, but Eich decided to develop something that would be very easy to start with.

In the initial phase, it was named as Mocha, then officially renamed to LiveScript. Later, Netscape bonded with Sun and released it under the name JavaScript.

After a couple of years, Microsoft Internet Explorer took the language and came up with its own implementation Jscript.

Later, Netscape decided to deliver the language to Ecma International to set the standard and to guide the path of JavaScript and so the name EcmaScript came into the picture.

EcmaScript had few releases between 1997-1999 (EcmaScript 3) and after that, for almost the next decade, nothing new released. At that time, Microsoft Internet Explorer was dominating the world but it was not doing much to improve the language and so Firefox and other array of browsers took birth and the focus came back to EcmaScript.

Basic Vocabulary

JavaScript

JavaScript is a cross-platform, object-oriented, powerful but light-weighted programming language. Initially, JavaScript is developed as the core of web browser, a language that is used and understood by the web browser, but in the present day, it is being used in a wide array of applications including mobile, desktop, game and server side development.

With the variety of JavaScript based frameworks and libraries, JavaScript became one of the most used languages these days.

A true language of the future.

EcmaScript

Terminologies like JavaScript (Sun) and Jscript (Microsoft) have already been taken so when it came to be standardized, the name ‘EcmaScript’ was chosen, as the corresponding standard is hosted by ECMA International.

At present, practically both the terms JavaScript and EcmaScript are interchangeable. Usually, when people refer to language, they use the term JavaScript and when the refer to versions, it's EcmaScript.

ECMA-262

ECMA-262 is an official specification of the EcmaScript language. This has been maintained by ECMA International.

Ecma Technical Committee 39 (TC39)

Group of people who developed Ecma-262 including Eich and other.

Release History of EcmaScript

EcmaScript 1 and EcmaScript 2

First version of EcmaScript, i.e., EcmaScript 1 released in June 1997. It includes all the basic stuff like:

  • Types
  • Objects
  • Operator
  • Function
  • Comments
  • Expression
  • Operators

And many more.

Next release that came in June 1998 focused on standardizing the specification and making it fully aligned with ISO/IEC 16262 international standard.

EcmaScript 3

In December 1999, a new version released as EcmaScript 3. This version was one of the biggest makeshifts as this is supported by all the browsers. The highlights are:

  • Regular Expression
  • Exception Handling (try/catch)
  • Tighter definition of Errors

EcmaScript 4 (Abandoned)

EcmaScript 4 was developed as the next version but TC39 failed to agree on the feature set. In the end, the committee agreed on the following four points:

Quote:

1. Focus work on ES3.1 with full collaboration of all parties, and target two interoperable implementations by early next year.

2. Collaborate on the next step beyond ES3.1, which will include syntactic extensions but which will be more modest than ES4 in both semantic and syntactic innovation.

3. Some ES4 proposals have been deemed unsound for the Web, and are off the table for good: packages, namespaces and early binding. This conclusion is key to Harmony.

4. Other goals and ideas from ES4 are being rephrased to keep consensus in the committee; these include a notion of classes based on existing ES3 concepts combined with proposed ES3.1 extensions.

EcmaScript 5

A new version released in December 2009 and features are supported by most of the browsers. This version came with various changes that completely changed the way we look towards JavaScript like strict mode, JSON support etc. Highlights are:

  • Strict Mode
  • Library support for JSON
  • Various new methods on Array and objects like forEach, filter, reduce, some, etc.
  • Getter and Setter on Object

EcmaScript 2015 (ES6)

A new edition released in June 2015 as ES6 or EcmaScrip 2015 with a very wide range of features, code standard and syntax. Although till now, most of the browsers don’t support many of these features. The highlights are:

  • Moving towards class based OOP (Object Oriented Programming) from prototype based OOP with the inclusion on a new set of keywords and concepts like Class, Module, Static and getter/setter.
  • Block scoping variable and functions
  • Arrow Function
  • Inclusion of Promise
  • Internationalization and Localization
  • Typed Array
  • Reflection and proxies (MetaProgramming)

EcmaScript 2016 (ES7) (The Work In Progress)

The final feature set of ES7 (EcmaScript 2016) has been finalized recently and seems to be a minor release. New features are:

  • Include function on Array
  • Exponential Operator

EcmaScript 2017 (The Work In Progress)

EcmaScript 2017 is in the very early stage as the feature set too is not finalized yet. But after the ES6, the roadmap looks quite clear as the focus would be on object oriented programming, better Meta Programming, SIMD type and inclusion on various other functions on Array and object and asynchronous programming, etc.

Sources and Related Reading

  1. http://www.2ality.com/2011/03/javascript-how-it-all-began.html
  2. https://en.wikipedia.org/wiki/ECMAScript
  3. https://mail.mozilla.org/pipermail/es-discuss/2008-August/003400.html

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Ashish k. Rajput
Software Developer (Senior)
India India
No Biography provided

You may also be interested in...

Comments and Discussions

 
-- There are no messages in this forum --
Permalink | Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.170924.2 | Last Updated 13 Jun 2016
Article Copyright 2016 by Ashish k. Rajput
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid