History of The JavaScript

 


jsJavaScript appears to be one of the most widely used languages ​​on the web today. The shortest story told about this language is that it was created in barely ten days by Brendan Eich on behalf of Netscape in 1995. The language successively bore the names Mocha then LiveScript and finally JavaScript, respectively in May, September and December of the same year. When it was created, it had a syntax a little close to that of Java, first-class functions as found in the Scheme language, dynamic types like Lisp and prototypes like those present in the Self language.

When Tim Berners-Lee invented the first web browser in 1990, the web pages he displayed still lacked vibrancy and more user-friendly interactions. In 1993, Marc Andreessen and Eric Bina helped the National Center for High Performance Computing Applications at the University of Illinois launch Mosaic. It is a new user-friendly graphical web browser. The Internet was emerging as a multimedia universe for mainstream users.

Andreessen later founded the private company called Mosaic Communications Corporation and released a commercial browser called Mosaic Navigator in 1994 (the name was changed to Netscape after a dispute was settled). Netscape Navigator was successful and the Netscape IPO set new records. The young browser market share grew very quickly to reach 80%, but a need was still felt. Web pages lack interactions and dynamism. The developers tried to fill this gap with the help of the Java language from Sun Microsystem (now acquired by Oracle), but it still did not suit them.

Microsoft was also working to innovate in the world of web browsers. For Netscape, an innovative solution had to be found to keep ahead of the competitor. In other words, Andreessen and his people felt the need to come up with new features to maintain their dominant position. Web browsers had to go beyond displaying static documents and running truly interactive software. In 1995, the latter decided to recruit Brendan Eich to implement Scheme for the browser, while putting pressure on him to produce a prototype quickly enough to counter the threat from Microsoft.

Under pressure, Brendan Eich presented ten days after Mocha, a language that has the superficialities and control structures of Java and features that are both minimalist and flexible. The new language also has a functional and object-oriented aspect that it inherited from the Scheme and Self programming languages. Eich had, it seems, taken his bet. He created a tool that meets the requirements (“look like Java”, “be small”, “be accessible”), but which offers greater potential than everyone expected. It was known internally as Mocha, renamed LiveScript and finally, JavaScript.

JavaScript (JS) is a scripting programming language primarily used in interactive web pages for client-side rendering, but in recent years its use on the server side has also grown (with Node.js for example). It is an object-to-prototype oriented language, that is to say that the bases of the language and its main interfaces are provided by objects which are not instances of classes. The objects are each equipped with constructors making it possible to create their properties, in particular a prototyping property.

In 1996, Microsoft and Bill Gates would have reverse engineered JavaScript and then introduced it into the Internet Explorer 3 browser, giving it the name JScript. The competition is starting again and this time, Microsoft passes Netscape. However, Netscape submitted the language to ECMA International (ECMAScript) standardization the same year. ECMAScript is a programming language standard. It defines syntax, types of variables, control structures, and many more. JavaScript is one of the languages ​​which respects the ECMAScript standard. There are other languages ​​which respect this standard, like ActionScript or JScript (the rewrite of JavaScript carried out by Microsoft).

In June 1997, the first standardized version of JavaScript (ES1) was approved. It has many features currently used in JS, such as first-class functions, objects, and prototypical inheritance. ES2 and ES3 appeared in 1998 and 1999 respectively. ES3 was released with exception handling. Until then, JavaScript has evolved a lot, but from the 2000s, it will experience some setbacks, especially with the failure of ECMAScript 4.

A large number of features are offered for ES4 in 2000, such as classes, interfaces, optional types, and other mechanisms intended for large enterprise needs. However, the standard did not attract many people to the community. The TC-39 committee therefore decided to develop ECMAScript 3.1 (simple version) and ECMAScript 4 (enterprise version) in parallel. Ultimately, this approach fails and ES4 never sees the light of day. For the next five years, JavaScript was no longer really popular and suffered from many problems.

Incompatibility between different browsers on the market was one of the major problems with JavaScript at that time. Microsoft took advantage of this moment of weakness. Its Internet Explorer browser now dominates the market with around 90% market share. The company contributes to ECMAScript, but mostly plays by its own rules. She also takes the opportunity to integrate new features for JS in her browser. In particular the AJAX which paves the way for the single page applications of the future. That said, JavaScript was going to get a boost when in 2006 John Resig released the JQuery library.

By its creation, it mainly helps in solving the extremely frustrating cross-browser compatibility issues that existed at the time. It also provides a succinct and well-documented API that sets a new standard for the developer experience. Today, it remains the most widely used JS library in terms of page loading. It is notably used by Twitter's Bootstrap, but the developers of Bootstrap have stated that they will no longer be using JQuery in version 5.0 of the CSS framework which is under development. Things got even more interesting the following year with Google announcing the release of a new browser.

In September 2008, Google released the Chrome browser and opened its execution engine called the V8 engine as open source. This opens the door to new possibilities on the web. From now on, JavaScript will see its ecosystem develop more than ever. It's 2009 and Ryan Dahl presents Node.JS. It is based on Google's V8 engine. Node.JS is unique for its ability to execute nonblocking code with an event loop on the server. This gives rise to the JavaScript Everywhere paradigm. The language will thus gradually regain the enthusiasm that the developers dedicated to it in its early days. The year 2009 was nearing its end when a new version of JavaScript was released, ES5.

From the start of the new decade (the 2010s), new JavaScript frameworks and libraries have multiplied. Google surrounds itself with a developer community and publishes AngularJS and Jeremy Ashkenas also announces Backbone.js. The latter is a free and open source JavaScript framework based on the Underscore.js library. These two tools have become extremely popular for different reasons. AngularJS is declarative and expressed, while Backbone is imperative and minimal. This marks the start of modern Single Page Apps (SPAs) and other apps.

Facebook also published in 2013 its framework for creating user interfaces, ReactJS. Subsequently, dozens of other frontend, backend and fullstack frameworks appeared around this time. We can cite: Angular, Ember, Meteor, Sails, Vue.JS, Svelte, Mithril, Knockout, Polymer, etc. The JavaScript ecosystem has grown bigger than ever. Several new features are coming with the release of ECMAScript 6 in 2015, changing the way JS developers write their code.

The new standard rewrote a few features that were introduced with ES4, but which never saw the light of day. It gives rise to transpilers such as Babel and Typescript, allowing developers to write modern code, while also supporting traditional browsers still running older versions of JS. The development of the language has also accelerated and in the years since ES7, ES8 and ES9 are released in 2016, 2017 and 2018 respectively. This year it is expected that ES10 will be released with new features.

The future of language looks bright, but more standards and technologies are on the horizon. There is, among others, the WebAssembly (WASM). This is a World Wide Web standard for application development. It is designed to complement JavaScript with superior performance. The standard consists of a bytecode, its textual representation and an execution environment in a sandbox compatible with JavaScript.

Post a Comment

Post a Comment (0)

Previous Post Next Post