The Weird History of JavaScript

codediodeio

Jeff Delaney

Posted on June 20, 2019

The Weird History of JavaScript

The history of JavaScript is almost as weird as the language itself. Over the last 25 years, it has exploded from a rushed prototype for Netscape to the world's most widely used programming language. Here's how it happened, I guess...

Let there be JavaScript

1990 - 1999. During this period, we see the birth of JavaScript and its standardization through ECMA to version 3 (ES3).

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.

world wide web

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 🚀.

mosaic

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.

netscape

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.

eich

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.

December 1995. It is renamed to JavaScript for marketing reasons.

August 1996. Microsoft reverse engineers JavaScript and ships it with Internet Explorer 3, but calls it JScript for marketing legal reasons.

msft dance

November 1996. Microsoft is crushing their competition with an internal culture of "embrace, extend, and exterminate", yikes 😬. Netscape submits documentation to standardize JavaScript with ECMA International.

June 1997. The first standardized version of JavaScript (ES1) is approved by the TC-39 committee as ECMA-262 or ECMAScript. It has many of the features we use in JS today, like first-class functions, objects, and prototypal inheritance.

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.

The Dark Ages

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.

fire

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...

v8

The Renaissance

2009 - 2015. JavaScript goes fullstack and sees prolific growth in its dev ecosystem

May 2009. Ryan Dahl develops NodeJS with Google's V8 project. It is unique for its ability to run non-blocking code with an event loop on the server. It gives rise to the JavaScript Everywhere paradigm.

nodejs

December 2009. Exactly 10 years after ES3 we finally see a new version of JavaScript - ES5. It adds a conservative set of new features based on ES3.1 like strict mode, accessors, and JSON.

es5

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.

react

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.

Modern Times

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.

Where does JavaScript go from here? Will WASM replace JS? Will microfrontends make React obsolete? Will the new tech bubble burst?

Only time will tell, stay tuned for Part II in 2045!

💖 💪 🙅 🚩
codediodeio
Jeff Delaney

Posted on June 20, 2019

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related