History of JavaScript
Tags: beginners, javascript, history
Published: 2019-12-17 22:07:58

---
title: History of JavaScript
published: true
description: A brief history of the JavaScript Programming language
tags: beginners, javascript, history
series: FrontEnd Development Zero to Hero
---

> __The more you know about the past, the better you are prepared for the future.__
&mdash; _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.

<hr>

###__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](https://en.wikipedia.org/wiki/High_Performance_Computing_Act_of_1991) was introduced that provided the funding for the first mainstream browser &mdash; [Mosaic](https://en.wikipedia.org/wiki/Mosaic_(web_browser)) developed by [Marc Andreessen](https://en.wikipedia.org/wiki/Marc_Andreessen) and [Eric Bina](https://en.wikipedia.org/wiki/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](https://en.wikipedia.org/wiki/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](https://en.wikipedia.org/wiki/Brendan_Eich) was hired with the premise of putting the [Scheme programming language](https://en.wikipedia.org/wiki/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](https://en.wikipedia.org/wiki/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&trade; was getting popular and they were launching their own browser &mdash; Internet Explorer&trade; so they __reverse engineered JavaScript__ and named it [JScript](https://en.wikipedia.org/wiki/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)](https://www.ecma-international.org/) which as a neutral party for setting standards in the <abbr title="Information Technology">IT</abbr> 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&trade; Internet Explorer&trade; controlled about 90% browser market share and __Microsoft&trade; 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&trade;__ but, it also led to some __revolutionary features__  like <abbr title="Asynchronous JavaScript  and XML">Ajax</abbr> 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&trade; 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](https://jquery.com/) 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 &mdash; 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](https://www.typescriptlang.org/) and [Flow](https://flow.org) were also employed to __add type systems to JavaScript__.

Other tools like [ImmutableJS](https://immutable-js.github.io/immutable-js/) and [RxJS](https://rxjs-dev.firebaseapp.com/) were also __used to add functional patterns to JavaScript code__.

###__JavaScript: The present and Future__
Presently [TC39](https://github.com/tc39) is on a regular schedule of updating JavaScript on an annual basis.

<hr>

For more on the history of JavaScript you can read [A Brief History of JavaScript](https://auth0.com/blog/a-brief-history-of-javascript/) by Sebastian Peyrott.


Up next, the EcmaScript specification.