JavaScript: How It Became The World’s Most Popular Programming Language?

Deep dive into JavaScrip

JavaScript has always managed to stay in the buzz since its first release. From being a language that was unrecognizable due to its forward-thinking features, it has come a long way. Now it has literally become the developer’s choice, that too for 8 years in a row!

A rich history with a lot of back and forth which finally gained the acceptance it deserves, let’s look at how far JS has come. 

Evolution Of JavaScript

In the early days, Netscape passed JavaScript to the European Computer Manufacturers Association (ECMA) for standardization. Server-side implementation of the language happened in 1995 that was called Netscape. 

By the time 2005 rolled in, Eich & Mozilla collaborated with ECMA to assist E4X. Later, this resulted in a collaboration with Macromedia. The team decided to adopt Javascript while using E4X in Action Script 3.  

Note: JavaScript and ECMAScript are interchangeable terms. For the former years, ECMAScript was used as JavaScript was trademarked by Oracle which was formerly known as Sun. 

Let’s retrace the steps JS took to reach where it is today:

ECMAScript

The first version of ECMAScript came into the picture in June 1997. It was the standardized version or the first edition. The syntax was designed to intentionally resemble Java. It has a set of built-in objects that include the global object, functions arrays, string, objects, boolean numbers, math, date, RegExp, JSON. The error objects included Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError and URIError.

ECMAScript 2

This came in June 1998 with some editorial updates which kept ECMA-262 synchronized with the ISO standards.

ECMAScript 3

In December 1999 ECMAScript 3 added many core features which included regular expressions, better string handling, new control statements, and more. 

In 2000, the team started to work on ECMAScript 4. At the same time, Microsoft rocked the market by bringing the most powerful browser and the shares reached up to 95%. This is when JScript became the standard for client-side scripting on the Web.

When 2005 came into the picture was when JavaScript was adopted. 

ECMAScript 4

Now, let’s fast forward to July 2008 where ECMAScript 4 was developed & abandoned. The prototype was written in ML, but sadly TC39 could not agree on its feature set. 

ECMAScript 5

After that every other year a new update with minor improvements was made in the ECMAScript. In December 2009, ECMAScript5 came with features including reflective creation and inspection of objects, support for the JSON object encoding format, accessor properties, program control of property attributes, additional array manipulation functions, and a strict mode that provided enhanced error checking & program security.

ECMAScript 5.1

When it was 2011, ECMAScript 5.1 was launched and had some minor updates corrections. This Edition was later adopted by the Ecma General Assembly, in June 2011.

ECMAScript 6

This came in June 2015, this was a huge update and is the next-generation of JavaScript. Since ES6 could not be compiled directly in browsers, it required compilers from ES6 to ES5. For compiling ECMAScript 2015+ code into a backward-compatible version of JavaScript, Babel is used. ECMAScript 6 consisted of arrows, classes, enhanced object literals, template, strings, destructuring, unicode, generators, modules, proxies, reflect API, tail calls, and more.

ECMAScript 7

From 2016 onwards, ECMAScript decided on making a yearly release. The new version introduced Array.prototype.includes(), & Exponentiation operator. Yearly releases meant there won’t be any major releases like ECMAScript.

ECMAScript 8

In 2017, they added string padding, object.entries, object.values, async functions, shared memory, trailing commas in function parameter lists, and calls. 

ECMAScript 9

2018 included features like asynchronous iteration, rest properties, additions of RegExp, Promise.prototype.finally(), & template literal revision. 

ECMAScript 10

2019 came with a lot of interesting features like Array.Flat(), Array.flatMap(), Object.fromEntries(), String.trimStart() & String.trimEnd(), Optional Catch Binding, Function.toString(), Symbol.description, stability Array.Sort. It also helped in preventing JSON.Stringify() from returning to ill-formed unicode strings.

JavaScript: 2020 & Beyond!

For sure, 2020 brought the best out of JavaScript with a lot of additions-

BigInt

  • JavaScript 2020 finally came with BigInt, which has been one of the most anticipated features. 
  • Now for data processing & data handling, it allows developers to have much greater integer representation in their code.
  • Due to BigInt, you can store integers greater than pow(2, 53) -1.
  • The only thing you need to do is add an ‘n’ at the very end of the number. 
  • ‘n’ represents that it is a BigInt and should be treated differently by the JS engine.

Optional Chaining

  • This feature allows you to access object properties that are deeply nested. 
  • One doesn’t have to worry whether or not the property exists.
  • If the property doesn’t exist, unidentified will be returned.
  • Optional chaining even works on arrays and function calls. 

Promise.allSettled

  • Promise.allSettled is a method that accepts an array of Promises. It resolves only when all of the array of promises are settled (either resolved or rejected).

Nullish Coalescing

  • Javascript consists of a lot of falsy values, for example, the number 0, empty strings, undefined, NaN, etc.
  • There are times where the user wants to check whether the value is an unidentified value. 
  • So with nullish coalescing, you get the ability to check nullish values properly instead of falsy values. 
  • This is the symbol for nullish coalescing ??.

String#matchAll

  • A new method added to the String prototype is matchAll. This feature returns an iterator, which basically returns all matched groups simultaneously.

Other features include for-in order being well defined, import.meta, symmetric export syntax, globalThis & dynamic import.

ECMAScript in 2021

The new features in the latest version will include numeric separators, logical assignment operator, Promise.any(), AggregateError, finalizers, and many more features to keep us hooked. The expected release date for ECMAScript 12 is in June 2021. 

JavaScript: What Lies Ahead?

JavaScript strives for evolving constantly & there has been gradual development over the past years. We can easily see a huge leap if we will compare the current version from the first ECMAScript. 

And the question about the language being lost in the shadows; I don’t think that’ll be the case at least for the forthcoming years. This is because it will always form the basis for the new technology to grow on, especially in the world of frontend development! If you want to deep dive into JavaScript and learn about the most popular programming language, you can find lots of online resources on JavaScript.

Also read about: Machine Learning And It’s Future In Mobile App Development

Leave a Reply

Your email address will not be published. Required fields are marked *

Tekysinfo