JavaScript was invented by Brendan Eich in 1995.
It was developed for Netscape 2, and became the ECMA-262 standard in 1997.
After Netscape handed JavaScript over to ECMA, the Mozilla Foundation continued to develop
JavaScript for the Firefox browser. Mozilla's latest version was 1.8.5. (Identical to ES5).
Internet Explorer (IE4) was the first browser to support ECMA-262 Edition 1 (ES1).
Year ECMA Browser
1995 JavaScript was invented by Brendan Eich
1996 Netscape 2 was released with JavaScript 1.0
1997 JavaScript became an ECMA standard (ECMA-262)
1997 ES1 ECMAScript 1 was released
1997 ES1 IE 4 was the first browser to support ES1
1998 ES2 ECMAScript 2 was released
1998 Netscape 42 was released with JavaScript 1.3
1999 ES2 IE 5 was the first browser to support ES2
1999 ES3 ECMAScript 3 was released
2000 ES3 IE 5.5 was the first browser to support ES3
2000 Netscape 62 was released with JavaScript 1.5
2000 Firefox 1 was released with JavaScript 1.5
2008 ES4 ECMAScript 4 was abandoned
2009 ES5 ECMAScript 5 was released
2011 ES5 IE 9 was the first browser to support ES5 *
2011 ES5 Firefox 4 was released with JavaScript 1.8.5
2012 ES5 Full support for ES5 in Safari 6
2012 ES5 Full support for ES5 in IE 10
2012 ES5 Full support for ES5 in Chrome 23
2013 ES5 Full support for ES5 in Firefox 21
2013 ES5 Full support for ES5 in Opera 15
2014 ES5 Full support for ES5 in all browsers
2015 ES6 ECMAScript 6 was released
2016 ES6 Full support for ES6 in Chrome 51
2016 ES6 Full support for ES6 in Opera 38
2016 ES6 Full support for ES6 in Safari 10
2017 ES6 Full support for ES6 in Firefox 54
2017 ES6 Full support for ES6 in Edge 15
2018 ES6 Full support for ES6 in all browsers **
Note
* Internet Explorer 9 did not support ES5 "use strict".
** Internet Explorer 11 does not support ES6.
The ECMA Technical Committee 39
In 1996, Netscape and Brendan Eich took JavaScript to the ECMA international standards
organization, and a technical committee (TC39) was created to develop the language.
ECMA-262 Edition 1 was released in June from ES4 to ES6
When the TC39 committee got together in Oslo in 2008, to agree on ECMAScript 4, they were
divided into 2 very different camps:
The ECMAScript 3.1 Camp:
Microsoft and Yahoo who wanted an incremental upgrade from ES3.
The ECMAScript 4 Camp:
Adobe, Mozilla, Opera, and Google who wanted a massive ES4 upgrade.
August 13 2008, Brendan Eich wrote an email:
It's no secret that the JavaScript standards body, Ecma's Technical Committee 39, has been split
for over a year, with some members favoring ES4, a major fourth edition to ECMA-262, and
others advocating ES3.1 based on the existing ECMA-262 Edition 3 (ES3) specification. Now, I'm
happy to report, the split is over.
The solution was to work together:
ECMAScript 4 was renamed to ES5
ES5 should be an incremental upgrade of ECMAScript 3.
Features of ECMAScript 4 should be picked up in later versions.
TC39 should develop a new major release, bigger in scope than ES5.
The planned new release (ES6) was codenamed "Harmony" (Because of the split it created?).
ES5 was a huge success. It was released in 2009, and all major browsers (including Internet
Explorer) were fully compliant by July 2013:
OTHER STREAMING LANGUAGES APART FROM JAVASCRIPT
Dart
Dart is a Google product – an object-oriented programming language similar to C, created as a
replacement for JavaScript. If you have experience working with Java, C or C++ you are likely to
prefer dart over JavaScript. It has a more traditional object-oriented approach like these older
languages, which is not found in JavaScript’s prototype inheritance system.
Dart is designed for productivity and you can get a lot more done with ease on dart than you
would on JavaScript. It still has fewer capabilities than JavaScript but Google has been updating
it regularly.
TypeScript
TypeScript is developed by Microsoft with an aim to enhance the capabilities of JavaScript. It
adds new features and methods to the already existing features on JavaScript. It is backward
compatible with JS, so any app written in TypeScript can be viewed on almost any browser when
compiled to JavaScript. TypeScript is also compatible with Node.js.
CoffeeScript
The CoffeeScript language is transpiled into JS to improve the readability and make the code
shorter and simpler. So, it allows you to write faster and cleaner codes for front-end
development. It has a more consistent syntax than JavaScript. It also has other advanced
features such as list comprehensions and classes.
If you are using CoffeeScript, though, you will still need to be proficient in JavaScript.
Elm
Elm is a comparatively new functional language that provides an advanced front-end web
development experience. It is mostly used for graphic interface development. It has a simple
and intuitive syntax, efficient debugging where you get an immediate notification if an error
occurs during coding, and is easily compiled to JavaScript.
Python
Python is one of the most popular alternatives to JavaScript for backend development. The
Python language has a very simple syntax that easy to grasp for the newbies too. It gives more
clarity as the language is very easy to read and anyone working with you on your code can easily
understand it. Each unit of the code runs separately, making it easier to handle. Python has
been around as a back-end programming language for around 30 years and it is definitely here
to stay.
Kotlin
Kotlin is another back-end programming language that gives better readability and requires
writing fewer codes. It was developed by the industry and not the academia, which is why Kotlin
focuses more on the practical problems faced by developers in the field. It is more popular
because of its capability of multiplatform programming. For instance, it can share code between
Android and iOS systems in mobile app development.
Ruby
Ruby is a robust, dynamically-typed and object-oriented programming language with a very
simple syntax, that’s quite close to the English language. It may be a little slower than Python,
but is still one of the most popular alternatives.
PHP
PHP is being called the future of back-end development because of its flexible and flawless
features. The syntax in this language is very expressive, which gives you some creative freedom.
PHP has inbuilt website development capabilities too. It has built-in security features to keep
websites safe against threats.
JavaScript alternatives for mobile development
React Native
React Native is an open-source framework used for building cross-platform native apps. It uses
React and JavaScript languages to build mobile apps that are almost indistinguishable from
native apps that are built on Java of Objective-C.
Ionic
Ionic is also a popular JavaScript framework used for building hybrid apps. Developers can
access Cordova plugins that let them access hardware and software from a mobile device with
the core code being connected to the device. Your expertise in basic web development, such as
HTML, CSS, and JavaScript is good enough to develop mobile apps on Ionic.
ClojureScript
ClojureScript is a solid alternative for JavaScript which can easily compile the Clojure language
to JavaScript. Clojure is a Lisp that runs on the Java Virtual Machine and can access all the
existing Java libraries. It is compatible with Node.js and runs smoothly on all browsers.
Elm
Elm is a new language built for functional programming, with reactive programming at its core.
The advanced type system in this language ensures zero run-time errors in production codes
and the better HTML rendering performances allow clean front-end architecture for the web.
Babel
JavaScript runs on the ES5 version of the ECMA script, but the newer version ES6 has many
interesting features that are not supported in JavaScript yet. Babel is a compiler that will convert
your ES6 JavaScript code into ES5 compatible JS code. So when the ES6 features are supported
on all browsers in the future, your JavaScript code will be ready for it.