History of JavaScript

Habdul Hazeez - Dec 17 '19 - - Dev Community

The more you know about the past, the better you are prepared for the future.
Theodore Roosevelt

Everyone has a past and everything ever created by man has some sort of history associated with it. The history of creation will give you a perspective about the following:

  • The purpose of creation
  • Time of creation
  • Adoption and its usage
  • Evolution
  • The present and future

JavaScript is a technology created by man and its history has all the above listed points and more. Let's dive in and discuss them.


JavaScript: Purpose of creation

Let's take a trip back in time (literally) to the year 1990 when Sir Tim Berners-Lee developed the first web browser in Switzerland at a time when the internet was not mainstream.

Fast Forward to the the year 1994 when the High Performance Computing Act was introduced that provided the funding for the first mainstream browser — Mosaic developed by Marc Andreessen and Eric Bina at the University of Illinois and released for Unix systems for 1993. Mosaic was the first browser to start bringing the internet to the mainstream but at this time there was no JavaScript.

In 1993 after Andreessen graduated he moved to California to co-found Netscape and within a few years Netscape controlled most of the browser market share. Around this time Andreessen realized browser needed to be more dynamic and web designers needed something to make their website more dynamic.

JavaScript: Time of creation

In 1995 Brendan Eich was hired with the premise of putting the Scheme programming language in the browser with a syntax that resembles Java and he was given a short development time.

Ten days later the first version of JavaScript was born but at this time it was called Mocha and syntactically looked like Java and C but it already contain some feature that's popular in modern JavaScript like dynamic typing, first class functions and prototype based inheritance inspired by the self programming language.

In September 1995 Mocha was renamed LiveScript and was shipped in Netscape 2.0.

In December 1995 it was renamed JavaScript.

JavaScript: Adoption and usage

JavaScript started making an impact on the user experience from day one mostly with annoying popup windows.

At this time Microsoft™ was getting popular and they were launching their own browser — Internet Explorer™ so they reverse engineered JavaScript and named it JScript.

In 1996 there were two identical languages JavaScript and JScript and with the internet growing rapidly people realized there was a need to standardize JavaScript so Netscape turned to the European Computer Manufacturer Association (ECMA) which as a neutral party for setting standards in the IT industry since 1961.

JavaScript: Evolution

In June 1997 the first version of ECMA-262 or EcmaScript was released and it gave browser vendors guidelines on how to implement JavaScript.

In 1999 EcmaScript 3 (ES3) was released and stuff like better error handling and strict equality operator (===) were included.

In early 2000's Microsoft™ Internet Explorer™ controlled about 90% browser market share and Microsoft™ implemented its own extensions for JavaScript that created fragmentation's that developer still have to deal with today when supporting older versions of Internet Explorer™ but, it also led to some revolutionary features like Ajax which allowed JavaScript to be implemented Asynchronously.

At this time work has already started on EcmaScript 4 which included feature that you'll find in modern day TypeScript.

Douglas Crockford was part of the committee working on ES4 and he was concerned that the proposal was getting too big and out of control and Microsoft™ shared his point of view and decided not to have anything with the ES4 proposal which led to two different proposal at this time ES3.1 and ES4. The former was a simpler version without much changes to the language and this would continue to the year 2008 before ES4 was scrapped.

In 2006 jQuery was released by John Resig and it allows developers to build far more complex applications with its extensive documentation. And the application would work reliably on most browsers.

ES4 did made its way to the market in the form of ActionScript developed by Adobe.

In September 2008 Google released Google Chrome and the V8 engine. The V8 engine changed the way JavaScript was compiled and interpreted.

In may 2009 Ryan Dahl introduced NodeJS, a server side runtime for JavaScript built on top of V8 and it made it possible for developers to build their entire application using just one language — JavaScript.

Around this time the committee got together for the next version of EcmaScript and they decided ES3.1 should be the starting point of ES5 released in December 2009 exactly 10 years after the first official specification.

In 2010 frameworks like Angular and Backbone appeared and they allowed the creation of Single Page Applications using different approach.

Jeremy Ashkenas (creator of Backbone) also created CoffeeScript and UnderscoreJs. Coffeescript was the first language that made transpiling go mainstream.

In June 2015 ES6 (ES2015) was released and contained lots of new features like de-structuring, Promises,let and const. At this time transpilers were very important as they allow developers to write ES6 code and use transpilers like Babel to convert the code to ES3 code that was supported by legacy browsers.

Around this time ReactJS among other tools like VueJS were also getting popular.

Bundlers like Webpack allow developers to bundle dependencies of heavy JavaScript Applications.

TypeScript and Flow were also employed to add type systems to JavaScript.

Other tools like ImmutableJS and RxJS were also used to add functional patterns to JavaScript code.

JavaScript: The present and Future

Presently TC39 is on a regular schedule of updating JavaScript on an annual basis.


For more on the history of JavaScript you can read A Brief History of JavaScript by Sebastian Peyrott.

Up next, the EcmaScript specification.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .