background-shape

Javascript - An Unauthoritative History

by Danny Kirchmeier and Caley Brock

At Outschool we prioritize learning and teaching, not just for our Outschool educators and learners, but internally on our engineering team. Our engineer, Danny, taught a session in JS and put together an introduction to the history of Javascript. We thought it was too good not to share.

History of JS Timeline

1995

POV: You are a company named Netscape. You have a popular browser called Netscape Navigator. The web development scene is flourishing and people want a way to make pages more dynamic.

September: You release a beta version of a scripting language called LiveScript. 1 December: You release it officially as JavaScript. 2

1996

POV: You are Microsoft. You are competing with Netscape Navigator for market share with your own browser, Internet Explorer. They own 95% of the market share, but you’re not willing to be beat that easily. You decide to do what it takes to bring dynamic pages to your browser too.

August: You reverse-engineer JavaScript and call your implementation JScript. 3

1997

POV: You are Netscape. You want your language seen as the standard, and you’ve been in talks with the standards organization, Ecma International.

June: You get the language formalized, but compromise on the name: ECMAScript 4

POV: You are a programmer. You think ECMAScript sounds like a skin disease.

July: You (and everyone else) keep on calling the language JavaScript. 5

1998

POV: You are a programmer. Even with a common standard, browser differences make supporting multiple sites difficult.

August: Browser market share reaches a 60/40 (favoring Netscape) ratio. 6

So you take a shortcut: 7 IE vs Netscape

2000

POV: You are Microsoft.

January: IE passes 75% market share and continues to grow with no signs of slowing down.

2001

POV: You are Microsoft.

August: IE passes 86% market share as they release IE6. It continues to grow. 8

You decide to rest on your laurels and slow new feature development.

2004

POV: You are Google. Disappointed with existing but slow web-based email services, you come up with some novel uses to existing APIs that allow you to get new data from a server dynamically, allowing you to make a new, very fast email system.

April: Gmail is released 9

POV: You are Mozilla. Frustrated with the lack of progress made in web standards by Microsoft, you decide to take matters into your own hands.

November: Firefox is Released 10

2005

POV: You are a programmer. You made a webpage and found Firefox much easier to support than Internet Explorer.

October: You tell your friends about it. Firefox grows to 8% market share and continues to grow quickly. 11

2006

POV: You are Google. Gmail is popular and feature complex. The code is becoming unwieldy. Trying to support all of the oddities of IE has become a nightmare. JS Devs are in short supply and your super star engineers are Java Devs who hate JS.

May: You release GWT (Google Web Toolkit), a tool that compiles Java into Javascript. 12

2008

POV: You are Google. Frustrated with IE & Firefox for being quirky and running JS slowly, you decide to take matters into your own hands.

December: You release the Chrome browser, a browser focused on speed and compliance. 13

Browsers as cartoons

2009

POV: You are Ryan Dahl. Intrigued by the speed of JS in Chrome and frustrated with limitations of the Apache HTTP Server, you decide to take matters into your own hands.

May: You release Node.js as a tool to run a server in Javascript. 14

POV: You are the ECMAScript committee. Frustrated by the discrepancies between JS implementations and inconsistencies in the specification, you decide to take matters into your own hands.

December: You ratify version 5 of the spec. Formally known as ECMAScript 2009, also called ECMAScript 5 or more commonly: ES5. 15

2010

POV: You are Isaac Schlueter. Impressed with node.js, you want to contribute to its popularity and help everyone share code that can be used on this new platform.

January: You release npm, the node package manager. 16

2012

POV: You are Microsoft. Frustrated by the difficulty of developing large apps in JS, you still see potential in the language but think it needs some more structure.

October: You release Typescript as a language that adds optional types and compile-time validator on top of Javascript. 17

POV: You are Google. Pleased by the increase of JS developers and frustrated by the burden of maintaining GWT, you decide to relocate team members.

June: You announce the transition of GWT to an open-source project and quickly loses popularity. 18

2013

POV: You are the ECMAScript committee. Desiring to continue to improve the language, you study and learn from other languages.

November: The final meeting of the year comes and goes and there are still disagreements on how to implement certain features. 19

2014

POV: You are Sebastian McKenzie. You see the neat features that have been proposed and accepted in ES6 and you want to start using them now.

September: You build a tool called 6to5 that compiles ES6 code into ES5 code. 20

2015

POV: You are Sebastian McKenzie. 6to5 has become very popular, but you realize that not all ES6 features proposed and supported by your tool will end up in the spec.

February: Wanting to future proof the project name, you rename it to Babel. 21

POV: You are the ECMAScript committee. Desiring to continue improving the language, you motion to release the spec and establish a regular release cadence to protect against large changes and long delays.

June: You release the 6th version of the spec. 22 Commonly known as ES6, the committee recommends that it be called ES2015 to match a yearly release cadence. 23

2023

POV: You are here, reading this article.

The committee has continued to release annual releases of their ECMAScript standard. All major browsers have multiple releases per year and incorporate standard features quickly. Node.JS has annual releases and continues to be used successfully to power large websites.


  1. https://en.wikipedia.org/wiki/JavaScript#Creation_at_Netscape ↩︎

  2. https://en.wikipedia.org/wiki/JavaScript#Creation_at_Netscape ↩︎

  3. https://en.wikipedia.org/wiki/JavaScript#Adoption_by_Microsoft ↩︎

  4. https://en.wikipedia.org/wiki/ECMAScript#History ↩︎

  5. https://en.wikipedia.org/wiki/ECMAScript#History ↩︎

  6. https://www.visualcapitalist.com/internet-browser-market-share/ ↩︎

  7. https://en.wikipedia.org/wiki/Browser_wars#First_browser_war_(1995%E2%80%932001) ↩︎

  8. https://www.visualcapitalist.com/internet-browser-market-share/ ↩︎

  9. https://en.wikipedia.org/wiki/History_of_Gmail#Public_release ↩︎

  10. https://en.wikipedia.org/wiki/Firefox#History ↩︎

  11. https://www.visualcapitalist.com/internet-browser-market-share/ ↩︎

  12. https://en.wikipedia.org/wiki/Google_Web_Toolkit ↩︎

  13. https://en.wikipedia.org/wiki/Google_Chrome#Public_release ↩︎

  14. https://en.wikipedia.org/wiki/Node.js#History ↩︎

  15. https://en.wikipedia.org/wiki/ECMAScript_version_history#5th_Edition_%E2%80%93_ECMAScript_2009 ↩︎

  16. https://en.wikipedia.org/wiki/Npm_(software)#History ↩︎

  17. https://en.wikipedia.org/wiki/TypeScript#History ↩︎

  18. https://en.wikipedia.org/wiki/Google_Web_Toolkit ↩︎

  19. https://github.com/tc39/notes/tree/main/meetings ↩︎

  20. https://github.com/babel/babel/commit/c97696c224d718d96848df9e1577f337b45464be ↩︎

  21. https://www.infoq.com/news/2015/02/babel-new-name-for-6to5/ ↩︎

  22. https://en.wikipedia.org/wiki/ECMAScript_version_history#6th_Edition_%E2%80%93_ECMAScript_2015 ↩︎

  23. https://github.com/tc39/notes/blob/167155eeb708d84e1758d99c88b15670f9b81f75/meetings/2014-06/jun-4.md ↩︎

About the Author

Danny Kirchmeier

Danny is a security engineer for the Infrastructure Pod

Caley Brock

Caley is the Engineering Manager for the International Pod