History of Web Browsers and ECMAScript
Published: 2024-05-04 12:39:01

Hello! In today’s article we will discuss what ECMAScript is . First of all,  I want to clarify that ECMAscript and JavaScript are not the same .  Though some people think that ECMAscript and JavaScript are identical , in this tutorial we will see how they are different. And to know what is ECMAscript we need to know about the evolution of the browsers  first.  In the first part of the article we will discuss the evolution of the browsers and then we will see how ECMAscript fits in.

## Evolution of Web Browsers
Most of the people think that Netscape is the first browser. But actually Netscape was not the first browser. The first browser was developed by Tim Berners-Lee. It was called the WorldWideWeb. In the year of 1990 Sir Timothy Berners-Lee developed the browser for his own workstation and that workstation was run by an Operating System called Next. World wide web browser has only the basic features  for browsing and it was very complicated.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4c5pq7b7u2auvjljr6il.png)
######PC: wikimedia.org

The first graphical user interface  based and publicly available browser was released in 1993. It was developed by a  group at the University of Illinois. The group was called the National Centre for Supercomputing application or NCSA . The browser  was called  NCSA Mosaic. Beside static text NCSA Mosaic  was also able to display images. It also contained features like bookmarks and was available for both Windows and Mac machines. It was the first publicly available web browser and was free for any non commercial use. No doubt it gained popularity in a short time and eventually 5000 copies of the web browser started to be downloaded every month.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ch2i13lt2tdxgvebhqw8.png)
######PC: SciHi Blog

Marc Andreessen was a member of the NCSA  group  who contributed to the development of  NCSA Mosaic.  After graduating from University of Illinois he came to California. There he met Jim Clark.  Jim Clark was one of the co-founders of Silicon Graphics International  (SGI). At that time SGI  was a  big name in the hardware and software business.  After a discussion Jim and Mark decided to  develop a new web browser  which will challenge the existing  NCSA Mosaic web browser.  For this purpose they created one team who will work on the development.  In the history of web browsers this team was a remarkable one because of the formation of the team. There were two groups of people in the team,  one group was the colleagues of Andreessen from the university. This team did not have any prior experience on product delivery. On the other hand, the other group consisted of former employees of SGI and these people were highly experienced in a full product delivery cycle. 

They named the browser as Mosaic and the company was called Mosaic Communication. Though the name was the same,  the team did not copy any code from NCSA mosaic project . Still NCSA was not happy with the use of the name. So,  the name for the web browser was changed to Mozilla. This was not the same as the Mozilla Firefox browser that we use today,  but they have some connection.  Eventually,  the browser was renamed to Netscape and they changed the company name to Netscape communication. 

The first version of the Mosaic Netscape was released in October of 1994 (Version 0.9 beta) was commercially available. it was only free for non profit or academic organisation.  In August 1995 the IPO for Mosaic communication was released and it was an instant hit.  The capital of  4 million dollar now has reached 600 million dollar.

<table style="border: none;">
        <tr>
            <td style="border: none;"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vwgg01tamc5wkt4gyfdw.png" alt="Image 1"></td>
            <td style="border: none;"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yroeq1cz6tel8cp9jkb5.png" alt="Image 2"></td>
        </tr>
    </table>

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o9hvrsxhbehcdrx1n0xn.png)
In the same year, Microsoft released Windows 95. They have included their first web browser called Internet Explorer 1.0 in that release. Internet Explorer 1.0 was also based on NCSA mosaic. The first version of Windows 95 did not come with pre-installed Internet Explorer. The users had to configure the default network ,TCP/IP and Internet Explorer on their own . In this version of Windows 95 there was a pack called Plus! which needed to be purchased and installed separately to use the network connection and Internet Explorer.  But  in a short time Microsoft team noticed that the number of ‘Plus!’  pack  installed by the users was very less than the number of users of the windows 95 operating system .  So in the first service release of Windows 95 they included the Internet Explorer version within OS and people now don’t have to install the Plus! pack separately and can use Internet Explorer version 2.0 pre installed.  Anyway in both releases Internet Explorer started to gain popularity because it came as a bundle with the OS and in case of NCSA mosaic or Netscape, they needed to be installed separately.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7w494k3drdb8nf3dh14q.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uh1pgqutaa8kdr2gcvj8.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/igzue7wkwfdah6d5l4hm.png)
At this point 3 web browsers were ruling the market the major 2 was Internet Explorer and Netscape navigator with a little bit contribution from the old NCSA Mosaic. The first version of both Internet Explorer and Netscape navigator did not have any interactive feature for users  because they had not yet started using any scripting language. But the browser war began as both Internet Explorer and Netscape navigator started to gain popularity and they needed to do some improvements  to compete. 

##Rise of Javascript
As mentioned before the initial version of Netscape navigator did not have any user interactivity component. That means pages were loaded like a book where you can only see the text and images but you cannot interact with the webpage using components like text box, button, dropdowns etc. The simplest example  of user  interaction  is where you can provide your name in a text box and then clicking on a button the web browser will show your name . To implement a user interaction  the Netscape team thought of creating one language that will serve the purpose of dynamic interaction.

To achieve this goal Netscape team started thinking of two ways. First they think about using Java . At that point Java started to get  popular. But  the problem with Java was that it was too big and too enterprisy for this purpose.  The main goal was to create something which will be mostly used by scripters, designers and amateurs. Java was not fit for that scenario.  So they thought of creating a new language that will serve the purpose. And that was when Brendan Eich came into the picture. In the month of May 1995 he  created a language ,which was Similar to Java and can be used as a scripting language,  in a short span of 10 days.  Initially the name was given as Mocha.  In September 1995 it was renamed to Livescript and finally in the month of December the name was changed to JavaScript to depict the similarity with Java.

 After the release of Windows 95 Internet Explorer pack Microsoft was also not sitting idle.    They started working on similar things and wanted to make Internet Explorer a better, interactive web browser. So in August 1996 they released  a  scripting language called JScript.  they used it for their  house Browser Internet Explorer.

##ECMAScript : The inevitable standardization
After the invention of 2 different languages for browser scripting, now the classic problem of ‘best viewed in’ came.  So what happened was if someone had written in JavaScript then it only worked in Internet Explorer but not in Netscape navigator and vice versa.   It was a real problem for the developers who scripted for the browsers.   It was inevitable to come up with a standard that should be followed for all browsers and  the client side scripting languages whether it is for Netscape Navigator, Internet Explorer or any browser that will come up in future and that is where ECMAScript comes. 

ECMAScript or ES is a general-purpose programming language, standardized by Ecma International according to the document ECMA-262. It is a JavaScript standard meant to ensure the interoperability of Web pages across different Web browsers. ECMAScript is commonly used for client-side scripting on the World Wide Web, and it is increasingly being used for writing server applications and services using Node.js.

In November 1996, Netscape took JavaScript to the Ecma standards organization to carve out and maintain a specification for the language to enable other browser vendors to implement based on the work they had done. The Ecma Technical Committee 39 (better known as TC39) was created to continue to evolve the language, eventually releasing ECMA-262 version 1 in June 1997. ECMAScript is the name of the official standard with JavaScript being the most well-known implementation of the standard. ActionScript (Macromedia) and JScript (Microsoft) are examples of other implementations.

 As I mentioned earlier JavaScript and ECMAScript are not same and the same is explained above.we can think it like below,

**ECMAScript** –  Used for creating and/or modifying a scripting language.
**JavaScript** – Used as a scripting language

Below is the standardized process of how ECMA works in real.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ve5pqcw63j4uun0641z0.png)

**TC39 Committee Members**

| Name                  | Affiliation                   |
|-----------------------|:-----------------------------:|
| Erik Arvidsson        | Google                        |
| Gavin Barraclough     | Apple                         |
| Nebojša Ćirić         | Google                        |
| Doug Crockford        | eBay                          |
| Brendan Eich          | Mozilla                       |
| Stephan Herhut        | Intel                         |
| Dave Herman           | Mozilla                       |
| Luke Hoban            | Microsoft                     |
| Rick Hudson           | Intel                         |
| Oliver Hunt           | Apple                         |
| Waldemar Horwat       | Google                        |
| Yehuda Katz           | jQuery Foundation             |
| Mark Miller           | Google                        |
| Andreas Rossberg      | Google                        |
| Alex Russell          | Google                        |
| Bill Ticehurst        | Microsoft                     |
| Sam Tobin-Hochstadt   | Northeastern University       |
| Tom Van Cutsem        | Vrije Universiteit Brussel    |
| Rick Waldron          | jQuery Foundation             |
| Allen Wirfs-Brock     | Mozilla                       |

This table represents the version history of ECMAScript with the version number, month of release, and the associated name. 

| Version | Month of Release | Name                       |
|---------|------------------|----------------------------|
| 1       | Jun-97           |                            |
| 2       | Jun-98           |                            |
| 3       | Dec-99           |                            |
| 4       | Abandoned        | (last draft 30 June 2003) |
| 5       | Dec-09           |                            |
| 5.1     | Jun-11           |                            |
| 6       | Jun-15           | ECMAScript 2015 (ES2015)   |
| 7       | Jun-16           | ECMAScript 2016 (ES2016)   |
| 8       | Jun-17           | ECMAScript 2017 (ES2017)   |
| 9       | Jun-18           | ECMAScript 2018 (ES2018)   |
| 10      | Jun-19           | ECMAScript 2019 (ES2019)   |
| 11      | Jun-20           | ECMAScript 2020 (ES2020)   |