Hello Sunil
History of JavaScript

The History of JavaScript: Everything You Need to Know

So the idea was to make Java available for big, professional, component programmers; while Mocha would be used for small scripting tasks.

In other words, Mocha was meant to be the scripting companion for Java, in the same way Visual Basic was to C++ on the Windows platform.

There was a lot of internal pressure to pick one language as soon as possible. Python, Tcl, Scheme itself were all possible candidates. So Eich had to work fast. Lots of important decisions had to be made and very little time was available to make them.

In a matter of weeks a working prototype of Mocha was functional, and so it was ready to integrate with Netscape Navigator.

Netscape’s Mocha (a.k.a JavaScript) aimed to turn the web into a full-blown application platform.

Furthermore, when used together with their LiveWire application server product, it would enable isomorphic development, with the same language used on both client and server.

History of JavaScript - Netscape LiveWire

In web development, an isomorphic application is one whose code can run both in the server and the client.

If this sounds familiar, it is because this was exactly what Sun Microsystems was attempting to pull off with Java.

At the time however, the Web was very limited when compared to Java; for example, drawing pixels was not possible in Mocha(a.k.a JavaScript) as it is now with canvas. So Sun Microsystems never saw Mocha(a.k.a JavaScript) as a competitor and the alliance held.

What was meant to be a Scheme for the browser turned into something very different. The pressure to close the deal with Sun Microsystems and make Mocha a scripting companion to Java forced Eich’s hand.

A Java-like syntax was required, and familiar semantics for many common idioms was also adopted. So Mocha was not like Scheme at all.

It looked like a dynamic Java, but underneath it was a very different beast: a premature lovechild of Scheme and Self, with Java looks.

Mocha now LiveScript

The prototype of Mocha was integrated into Netscape Navigator in May 1995. In short time, it was renamed to LiveScript. At the moment, the word “live” was convenient from a marketing point of view.

In December 1995, Netscape Communications and Sun Microsystems closed the deal: LiveScript would be renamed JavaScript, and it would be presented as a scripting language for small client-side tasks in the browser, while Java would be promoted as a bigger, professional tool to develop rich web components.

Microsoft’s reply to JavaScript

When Sun Microsystems and Netscape closed the deal to change the name of LiveScript to JavaScript a big question was raised: what would happen to alternative implementations?

In late 1995, when Microsoft cottoned-on to the competitive threat the web posed, the Internet Explorer project was started in an all-out attempt to wrestle control of the emerging platform from Netscape.

Indeed, although Netscape was quickly becoming the preferred browser at the time, Internet Explorer was also being developed by Microsoft.

History of JavaScript - Internet Explorer

From the very first days, JavaScript made such a considerable difference in user experience that competing browsers had no choice but to come up with a working solution, a working implementation of JavaScript.

So Microsoft implemented their own version of JavaScript, called JScript. Keeping “Java” off the name avoided possible trademark issues. However, JScript was different in more than just name.

Slight differences in implementation, in particular with regards to certain DOM functions, caused ripples that would still be felt many years into the future.

JavaScript wars were fought in more fronts than just names and timelines and many of its quirks are just the wounds of these wars.

The first version of JScript was included with Internet Explorer 3.0, released in August 1996.

In the fall of 1996, Eich rewrote most of JavaScript into a cleaner implementation to pay off for the technical debt caused by rushing it out of the door.

This new version of Netscape’s JavaScript engine was called SpiderMonkey.

History of JavaScript - Spider Monkey

SpiderMonkey is still the name of the JavaScript engine found in Firefox, Netscape Navigator’s grandson.

History of JavaScript - Firefox

Firefox

For several years, JScript and SpiderMonkey were the premier JavaScript engines. The features implemented by both, not always compatible, would define what would become of the web in the following years.

However, Microsoft’s attempt was imperfect, yielding various incompatibilities between JavaScript and JScript.

How JavaScript was designed

Designing a language is a challenge, but also an opportunity. Programming languages can express old ideas in new ways, and popularize alternative approaches.

Influences

Eich had read Structure and Interpretation of Computer Programs, a landmark MIT textbook, featuring the language Scheme, which combines a minimalist feature set with surprising power and flexibility – it does a lot with little.

Netscape recruited Eich to implement “Scheme for the browser,” then gave him a contradictory stipulation: whatever he came up with had to “look like Java.”

Sunil Pradhan

Hi there 👋 My name is Sunil and I'm a front-end developer who loves to help others by simplifying web-dev related topics.

Add comment

Stay Updated

Want to be notified when our article is published? Enter your email address below to be the first to know.

Sunil Pradhan

Hi there 👋 My name is Sunil and I'm a front-end developer who loves to help others by simplifying web-dev related topics.