“Any application that can be written in JavaScript, will eventually be written in JavaScript.”

“Any application that can be written in JavaScript will eventually be written in JavaScript.”

— Jeff Atwood, Author, Entrepreneur, Cofounder of StackOverflow

The birth of JavaScript

Start with the birth of the browser

  • Sir Timothy John Berners-Lee, as we’ll call him, is the inventor of the browser (he was made a Commander of the Order of the British Empire by Queen Elizabeth II in 2004).

  • In March 1989 Sir Lee, who was working at CERN in Switzerland, submitted a proposal to his boss. His boss signed off on the proposal with the words “elusive yet exciting!” . It also symbolized the beginning of the Internet era.

  • On Christmas day, 1990 🎄, the world’s first browser was born, and its name was WorldWideWeb.

  • WorldWideWeb runs on the NeXT machine, and its interface looks like this: 👇🏻, which is both a browser and an editor.

  • But the WorldWideWeb did not catch on. The best-known early adoptor was Mosaic, developed by the national center for supercomputer applications (NCSA) at the university of Illinois.

  • Marc Andreessen, the leader of the team that developed Mosaic, left NCSA and co-founded Mosaic Communications, which was later renamed Netscape and launched a new browser, Netscape Navigator.

  • The story of JavaScript’s birth also began at Netscape.

JavaScript comes with a bang

  • Netscape saw the need for more interactivity on the Web, and Marc Andreessen saw the need to add a glue language to make it easier for developers to assemble components such as images and plug-ins. JavaScript was born.

  • The JavaScript was designed by Brendan Eich.

  • Brendan Eich designed a prototype of JavaScript in 10 days. Yeah, that’s right, 10 days. Again, 10 days.

The name of the JavaScript

  • The original JavaScript wasn’t called that yet. It was called Mocha.

  • The reason for the coffee-related name was to rub off on the popularity of Java (which is also a type of coffee).

  • Changed to Netscape Navigator 2.0 BetaLiveScript.
  • Renamed in Netscape Navigator 2.0 Beta3JavaScript.

 

In fact JavaScript and Java really have little to do with each other, just like “plants” and “vegetative people”.

 

What languages JavaScript borrows from

  • It draws lessons from the basic syntax of C language.
  • Data types and memory management borrowed from the Java language;
  • Using Scheme language for reference, the function is promoted to the status of “first-class citizen”;
  • Borrowed from Lisp’s dynamic typing;
  • Self language, using the prototype based inheritance mechanism;

 

The evolution of the JavaScript

The evolution of JavaScript is inseparable from the evolution of browsers.

【 interstitial 】 Netscape’s feud with Microsoft

Netscape Navigator 还是 Internet Explorer

  • Just as Netscape’s browser was in its heyday, Microsoft launched its own browser, Internet Explorer, the infamous Internet Explorer.
  • Internet Explorer comes bundled with Windows and, in Microsoft’s words, is free for anyone who buys Windows.

  • In 1996 Microsoft launched JScript, bundled with IE3 and competing with JavaScript. IE3 was the first to support CSS.

The first browser wars

  • The first browser war broke out, IE used various means to fight netscape, coupled with a series of bad decisions by Netscape, IE gradually gained the upper hand.
  • IE won, and Netscape was acquired by AOL.
  • On March 31, 1998, under an open source license, Netscape released most of the source code for Netscape Navigator, a project that used the Mozilla name, foreshadowing what was to come.

For a look at the impact this feud had on Netscape, see the documentary Code Pentium (2000).

The path to JavaScript standardization

  • Although Netscape fell, JavaScript developed more and more of its vitality and vitality.

Take the road to standardization

  • In 1996, JavaScript began to take the road to standardization.
  • In November 1996, Netscape decided to submit JavaScript to the international standardization organization ECMA, hoping that the language would become an international standard.

ES1

  • In June 1997, the first version of the ECMA-262 specification was published. The specification was developed by a technical committee of the ECMA organization called TC39.
  • To reflect the language’s openness and neutrality, the standard for the language is written into the ECMA-262 specification under the name ECMAScript.
  • Simply put, ECMAScript is the standard for JavaScript, and JavaScript is the implementation of ECMAScript.

ES2

  • The second edition of ECMAScript was released in June 1998.

ES3

  • The third edition of ECMAScript, released in 1999, added elegant features such as regular expressions.

ES4

  • A fourth draft was proposed around 2000, but disagreement over which direction ECMAScript should go led to the failure of ES4.

  • The STORY of the ES4 is complicated, so here’s what Utah and He-Lao concluded: Will the ES6 go the way of the ES4? – zhihu
  • One of the key characters is Douglas Crockford, author of the essence of the JavaScript language. He didn’t want JavaScript to get messy and out of control, and Microsoft agreed with him, and They happen to dominate the market. This resulted in some new features not being introduced into ES4, which was aborted.
  • Google, Microsoft, and Yahoo finally decided to start with a small version update, known as ES3.1.

ES5

  • The fifth edition was released in 2009.
  • JSON support has been added to ES5.

ES6

  • ECMAScript version 6 was released in June 2015, which is the most “modern” version.
  • ES6 offers a variety of new features. See Nguyen Yifeng’s INTRODUCTION to ES6
  • Then ECMAScript turned on the annual update mode. So ES6 === ES2015

 

JavaScript looks to the future

Put up a few articles, interested friends feel free to read, but the future is not sure.

  • The future of JavaScript – crazy tech nerds
  • Why is the future of software services necessarily webAssembly-WASM Chinese community
  • 8 Front-end JavaScript Trends and Tools you should Know about in 2020
  • Programming trends forecast for 2020 and beyond: Rust will be dominant, JavaScript will remain strong – Translation Bureau

 

Write in the last

  • Who gave the ticket before you came?

I have little talent and learning, if there are mistakes, but also hope to criticize in the comments.