Christmas Day 1990. The world's first modern web browser, WorldWideWeb (later renamed to Nexus), is developed by Sir Tim Berners-Lee in Switzerland. Take it for a spin.
December 1991. The High Performance Computing Act is passed (Gore Bill). Al Gore is later hilariously misquoted as having "invented the Internet".
January 1993 The Mosaic Browser is developed by Marc Andreessen
and Eric Bina at the University of Illinois with funds from the Gore bill. It takes off as the first mainstream web browser 🚀.
Early 1995. Netscape (co-founded by Marc Andreessen) was growing rapidly to nearly 80% of the browser market share, but web designers needed a "glue" language to make their sites more dynamic. At first, they turned to Java, but realized something more dynamic and approachable was needed.
May 1995. Brendan Eich is recruited to put "Scheme in the browser", but was under pressure to produce a prototype quickly with the threat of Microsoft beating them to the punch.
Ten days later... He creates a language called Mocha. It has the syntax of Java, first-class functions like Scheme, dynamic types like Lisp, and prototypes like Self.
September 1995. It is renamed to LiveScript for marketing reasons.
marketing legal reasons.
June 1998. ES2 is standardized, mostly unchanged.
December 1999. ES3 is standardized, adding support for strict equality, exception handling, and more. It will stand for the next 10 years.
2000 - 2008. After the tech bubble bursts, JS experiences numerous setbacks and the failure of ES4.
March 2000. The tech bubble bursts.
Sometime later... A wide range of features are proposed for ES4, like classes, interfaces, optional types, and other mechanics aimed at large enterprise needs. Douglas Crockford from Yahoo raises concerns that the proposal is too complex and bloated, Microsoft agrees.
The TC-39 committee decides to develop ECMAScript 3.1 (the simple version) and ECMAScript 4 (the enterprise version) in parallel. Ultimately, this approach fails and ES4 never sees the light of day.
Meanwhile... Microsoft's Internet Explorer is dominating with approx 90% of the browser market share. They contribute to ECMAScript, but mostly play by their own rules, shipping new features for JS in their browser. Most notably, AJAX sets the stage for the single page applications of the future.
August 2006. John Resig creates JQuery. The library addresses extremely-frustrating issues related to cross-browser compatibility that existed at the time. It also provides a well-documented terse API that sets a new standard for the "developer experience". Today, it remains the most widely used JS library in terms of actual page loads.
September 2008. Google releases the Chrome Browser and open-sources its high-performance runtime, called the V8 engine. It opens the door to new possibilities...
October 2010. Both AngularJS and Backbone frameworks see their initial releases. They become extremely popular for different reasons - Angular was declarative and opinionated, while backbone was imperative and minimal. This marks the beginning of the modern single page application (SPA) and "framework churn".
May 2013. Facebook releases ReactJS. It sees rapid growth in the years ahead solidifies the declarative UI patterns used in many apps today.
Dozens of other frontend, backend, and fullstack frameworks emerge roughly around this time period, like Angular, Ember, Meteor, Sails, Vue, Svelte, Mithril, Knockout, Polymer, just to name a few.
2015 - present. A ton of new features land in ES6 changing the way modern JS devs write their code.
2015. ES6 brings a ton of new features to the language (many of which originated in the failed ES4), such as let/const, arrow functions, classes, promises, and more. It gives rise to transpilers like Babel and Typescript, so developers can write modern code, but still support legacy browsers that run ES5/3.
2016 ES7. We get minor changes, like Array.includes(). Most importantly, ECMA is now making small changes on an annual basis.
2017 ES8. We get Async Await!
2018 ES9. We get Rest/Spread syntax!
2019. ES10. More small, but useful updates have been finalized. Should be out this summer.
Only time will tell, stay tuned for Part II in 2045!