JavaScript – The Permeative Netscape Days
JavaScript was conceived at Netscape Communications in 1995 at around the same time as Java was starting to gain a foothold. JavaScript was created to carry out the small scripting tasks that didn’t require the heavyweight Java, similar to the relationship between C/C++ and Visual Basic
In just ten days, Brendan Eich, developed the first prototype of Mocha. This was immediately integrated into Netscape’s browser as LiveScript and then later renamed as JavaScript due to commercial deal with Sun Microsystems.
This first version of JavaScript set out many of the fundamentals of the language which still exist today. Despite the language being developed in a hurry Eich was able to implement a set of powerful design features that have helped JavaScript to grow and become the dominant force that it is today.
The Evolution of the Web
Version 1 of JavaScript, known as ECMAScript 1, was finally released in 1997, this was quickly followed by the second version in 1998. JavaScript made its first tentative steps towards dominance with the first big changes made in ECMAScript 3. At this time JavaScript was continuing to be pushed forward by the battle for market share between Netscape Navigator, Internet Explorer and the new kid on the block: Firefox.
The “browser wars” lead to browsers pushing the limits of JavaScript and adding functionality beyond the ECMAScript 3 standard. From this period browsers and JavaScript gained important features, most notably, what would eventually become known as AJAX.
While this period in the late 1990s and early 2000s lead to huge technical leaps it also brought about significant technical fragmentation. Microsoft in particular were often cited as being slow to adopt the standards being driven by the various versions of ECMAScript. The ripples of this period of fragmentation continues to impact developers day to day, however, its impacts are lessening year on year.
The Battle for Control and Rebirth
As we entered the new millennium the fragmentation in the market and the growing dominance of Internet Explorer and decline of Netscape lead to JavaScript development slowing to a stop in 2003. The proposal for ECMAScript 4 was developed by Netscape following the release of ECMAScript 3, however, many of the ideas did not interest the other players in the market whom by this time were in control of it.
Work on ECMAScript 4 resumed in 2005 and contained a huge list of features that were aimed at generalising the JavaScript language and allow it to move beyond the browser. By this point the influence of Netscape was gone and the committee controlling the proposal for ECMAScript contained Microsoft, Mozilla, Adobe, Opera and latterly Yahoo. This committee was far from harmonious with concerns over the growing list of features. Microsoft eventually refused to adopt any part of ECMAScript 4 and the committee split to develop ECMAScript 4 and 3.1. With the lack of support behind ECMAScript 4 it fell by the wayside, though many of its features can now be found appearing in ECMAScript 6.
The problems at committee level lead to ECMAScript 4 taking 8 years from inception to failure. Eich’s influence was required again to get the project back on track. He drove forward the completion of ECMAScript 3.1 and the move towards development of ECMAScript Harmony. Upon completion ECMAScript 3.1 in 2009 was released as ECMAScript 5. For 10 years work ECMAScript 5 was a rather incremental update but still went onto become the most widely supported version of JavaScript and was supported by all the major browsers.
The Take Over
While the battle for the heart of JavaScript was ongoing, Google were busy developing their plan to dominate the web. As part of this plan, Google began developing Google Chrome and the V8 JavaScript engine. Google V8 engine was open sourced which allowed it to become a building block for the generalisation of JavaScript.
While the ECMAScript committee were developing the first ECMAScript Harmony proposal, the JavaScript development community set about moving JavaScript beyond the web and making ECMAScript 5 (ES5) a general purpose language. By the turn of the decade numerous projects had sprung up that were using JavaScript as a server side language. The most notable of these, Node.js was utilising Google V8 engine and ES5.
The generalisation of JavaScript has helped to take the language to the next level and to become the dominant programming language it is today. Many huge players in the tech industry are running JavaScript across their full stack. With the release of ECMAScript 6 (which became known as ES2015) and its successor ES2016, JavaScript has changed to become more a general purpose language which will allow it to continue to dominate.
The Future
JavaScript is now even quicker than it was during its inception in the late 1990s. With companies such as Facebook pushing forward development it looks like this pace will continue to be relentless. At the moment JavaScript the unchallenged king of the client – but current developments it looks like there is little that will stop JavaScript becoming one of the main server side technologies as well.
With the dominance of JavaScript it has developed a huge community alongside industry support. This backing means that demand for JavaScript is massive and with the growing importance of the web and mobile nothing is more sure than continued success of JavaScript. Before long it is a safe bet that JavaScript will become the one language to rule them all.
Read more articles like this one here!