The Future of JavaScript 2023

JavaScript is one of the most popular programming languages in use today. But what of the future? Will JavaScript be replaced by a new language?

20-02-2023
Bcorp Logo


What does the future hold for JavaScript?


Back in February 2022 we gave our crystal ball a rub to see what the future of JavaScript might be. It was, and still is one of the most popular programming languages in use. Now we are well into 2023 we are returning to this question to see what has changed over the last 12 months.

Back in Feb 2022 we said that it doesn't matter which tech survey or index you look at; JavaScript is always near the top of the list. This certainly has not changed!

For example, the PopularitY of Programming Languages (PYPL) index places JavaScript third (behind only Python and Java) both in February 2022 and in Feb 2023 - in fact, the popularity of JavaScript has actually increased slightly in that 12 months (albeit by only 0.6% but not bad for a language first released late in 1995).

Similarly Stack Overflows’ list of most popular technologies in 2021 placed JavaScript top just shy of 65% of respondents using JavaScript and this is still the case - the current Stack Overflow survey from 2022 shows a small increase. This is now 10 years in a row that JavaScript has come top! Interestingly, if you consider only those learning to program, it is a very close three-way tie between JavaScript, Python and HTML/CSS (which this author considers a mark-up language rather than a programming language). However, just under 60% of respondents are still using JavaScript to learn to program.

What's more, TIOBE index 2021 (which considers a wide range of factors such as searches, courses, 3rd party vendors, developers etc.) placed JavaScript 7th as of February 2022. In 2023 the TIOBE Index still places JavaScript 7th but again, there is a 0.7% increase in activity.

So although there hasn’t been a massive increase in interest or usage in JavaScript across the last 12 months, it does still indicate the stability of the JavaScript ecosystem. 

Last year, we posed the question:

“What of the future? Will JavaScript be replaced by a new language? Will it evolve unrecognisably? Will it continue to dominate?”

So has anything changed / happened in the last 12 months to change our opinion? Let's look at the points we made last year and consider the Frameworks and libraries to watch in 2023.

Present Day

Last year we identified several trends and considered their effect on real-world JavaScript development. To keep things fresh, let's take a look at what has changed...

Ubiquitous Availability

There was a time when JavaScript could justifiably be considered a browser-only front-end language. These days, JavaScript is available on nearly every platform and can not only be used for browser-based UI applications, but also for back-end services (Node.js or Deno, both originally created by Ryan Dahl are popular choices); for mobile applications (e.g. using React Native or NativeScript); on the desktop (via Electron) and with hybrid applications (for instance, using Ionic). JavaScript is literally everywhere today!

This ubiquitous availability makes for a very useful tool for developers and promotes its utility to organisations...and that doesn't look set to change any time soon.

One interesting aspect is the continued interest in and growth of React Native. Pretty much neck-and-neck with Flutter (an open source framework from Google) they were the most popular truly cross-platform technologies in 2022 according to (again according to the Stack Overflow Survey 2022).

Developer Community

The developer community for JavaScript is still huge. This means that not only is there a large amount of skill out there, but also if an organisation needs to recruit new JavaScript developers, they will be able to do so and at a reasonable cost. This is important, as choosing to use a language for which there are scarce and / or expensive resources available will cause problems somewhere down the line.

Ecosystem

This is also still a huge ecosystem of JavaScript libraries available - these libraries cover everything from front-end frameworks, to performance enhancements, to programming language extensions. This means that rather than starting from scratch, developers can employ (often very well-maintained) libraries rather than re-invent the wheel, saving time and money. This ecosystem is not about to disappear, and any new language would take significant amount of time to generate similar levels of support.

Modern Javascript training course at Framework Training


The Standard Keeps Evolving

The standard used to specify what is in a particular version of JavaScript is essentially defined by the ECMA (European Computer Manufacturers Association) as ECMAScript (technically speaking ECMAScript does not include a few things that any JavaScript implementation will provide such as the DOM API). This is often shortened to ES as in ES6 (ECMAScript 2015 6th Edition). Thus, a particular JavaScript runtime, such as Google's V8 engine, or browser such as Firefox, will be said to be "ES6 compliant."

The current version of ECMAScript at the time of writing is ES13 (13th Edition ECMAScript 2022 released in June 2022). This version added new features such as private instance fields, methods, and accessors. This illustrates that the language is still evolving and still developing. This means that established programming concepts can be adopted as well as newer more exploratory features; the language is not dead and indeed JavaScript 23 might look significantly different to JavaScript 6!

Interestingly, "JavaScript" is a trademark of the Oracle Corporation as it was originally trademarked by Netscape, who collaborated with Sun Microsystems, who then acquired the trademark before Oracle acquired Sun!

Compile-to-JavaScript (Transpiling)

One trend over the last decade has been the development of compile-to-JavaScript or transpilers.

A Transpiler is a source-to-source compilation which translates one programming language into another. These transpilers allow another language to be cross compiled into JavaScript so that it can be run on a JavaScript environment such as a browser. The post child for JavaScript transpilers is TypeScript – essentially a typed version of JavaScript. Other languages that can be transpiled to JavaScript include TypeScript, Kotlin, Scala and Dart. Indeed as of 2023 there are many, many languages that can be transpiled into JavaScript (see a list of the best languages that compile to JavaScript).

This has the potential for JavaScript and its runtimes, such as V8, to become the default cross platform execution environment of tomorrow.

Near Future

Based on current and recent trends in both JavaScript and other technologies we can make some near future predictions.

What does the future hold for JavaScript?


Evolution of the Language

As we know, ECMA manage the evolution of the language. In some cases, concepts and technologies have been adopted based on their popularity in widely used JavaScript frameworks. As an example, we can see that the addition of a whole host of array methods in ES6. This trend is likely to continue. For example, various front-end libraries such as React and Svelte are promoting reactive programming (as well as react.js itself) in JavaScript. Encompassing Reactive programming into JavaScript is one possible (probable?) move.

TypeScript is another interesting example. As previously mentioned, it is transpiled into JavaScript and is essentially a typed version of JavaScript. The popularity of TypeScript has grown massively in recent years. Back in 2016, that year’s Stack Overflow survey (the first to mention typescript) indicates that it was being used by less than 0.5% of developers. However, by the 2021 survey, TypeScript was 7th overall with just over 30% of programmers using it. However, by 2022 TypeScript was up to 5th overall with just under 35% of programmers reporting they use it. This is a massive growth and one which is continuing and cannot be ignored. Although it will take several years to catch up with JavaScript, if this grow continues it will get there.

In addition, in 2022, in the Stack Overflow most wanted list, although Rust ties with Python as the most wanted technology; TypeScript is now running them both a close second. With JavaScript down in 5th position.

In terms of JavaScript, it may mean that some form of typing is heading into the language.

Server-Side JavaScript

Although Netscape released a version of JavaScript for server-side use back at the end of 1995, it wasn’t until the advent of Node.js that JavaScript on the server was really taken seriously. This has been further established with the arrival of Deno. Of course Node is far more established than Deno and a comparison of the two systems in late 2022 showed that there is little in terms of performance between them. However Deno has only 1.69% of web developer usage compared to over 47% for Node.js (and 22.99% for Express which is really an extension to Node.js).

However, when compared to any other web framework in the Stack Overflow 2022 survey Node.js and Express far outweigh any other framework with a combined total of 70.11% compared to React.js 42.62% with and jQuery with 28.57% (the other top contenders for Web frameworks and technologies honours). This shows just how widely JavaScript is used on the server side.

We also suspect that JavaScript will become more widely adopted with the Serverless services arena via the likes of AWS Lambda and Azure functions. In both cases JavaScript may prove to be particularly suitable for this type of application.

Functional Programming

Functional Programming (or FP) has become increasingly popular over the last 10 years with functional languages such as Clojure and Haskell as well as hybrid languages such as Kotlin and Scala promoting the approach. Indeed, even established languages such as Java have (partially) adopted FP. JavaScript already has functions and to some extent support for FP, but it is likely that this will grow further. This is evidence to some extent by the number of online tutorials that can be found form the last 2 or 3 years on using Functional Programming concepts in JavaScript.

Longer Term

JavaScript’s’ ubiquitous nature and its adaptability are likely to continue and ensure its prosperity in the longer term. For example, interest in AR, VR and the Metaverse is growing and JavaScript is uniquely suited to take advantage of this.

Indeed if you search on YouTube for JavaScript and Metaverse you will find a whole host of tutorials on how to do this. Most are from 2022 such as https://www.youtube.com/watch?v=99KxEdLMT3g. They often (always?) use additional libraries such as Three.js but that’s the nature of JavaScript – libraries make it more functional for whatever type of system you are creating.

Of course, the language will probably need to evolve and adapt to the new requirements. However, it can do this.

Although the language specification is administered by ECMA, the world of JavaScript frameworks is free to explore whichever avenues it likes. This allows for great flexibility and experimentation. This is already illustrated by the lack of DOM API features in ECMAScript but its presence in all browser based versions of JavaScript!

In addition, ECMA looks at how the language is being used, what libraries are most popular / in demand and takes input from a wide range of interest parties when incorporating new features in the next release. They are therefore not constrained or hampered by any organisations vision (or indeed lack of vision). Thus, it may well be that JavaScript can evolve to provide native support for whatever technology or APIs may be used in a Metaverse future.

Potential Challenges facing JavaScript

Back in February 2022 we highlighted the challenges facing JavaScript and these have not really changed, if anything they have solidified.

Some of the challenges facing JavaScript and its potential longevity / success include:

Multi-Feature Language

One problem with absorbing many different ideas or concepts into JavaScript is that a language which was once simple and easy to learn may become bloated, convoluted, and difficult to use. This might result in a significant barrier to entry for new developers and lose the loyalty of its many existing fans. We can already see more and more of the more subtle concepts in Object Oriented Programming from languages such as Java and C# migrating into JavaScript (for example in ES13).

Technology Moves too Fast

Although ECMA release a new specification every year, the language developments since ES6 in 2015 have been relatively small. It is possible that new concepts / technologies may by pass JavaScript, leaving it in a JavaScript cul-de-sac. That is, it might become a legacy language, with a significant body of work behind it, but with few new or exciting projects being developed in it (think COBOL as an example here).

WebAssembly

WebAssembly (aka Wasm) is designed as a portable binary level, virtual machine which can be used within the browser. Any language can be compiled to the WebAssembly binary instruction set. This allows any language to be deployed on the web for client and server applications. Indeed, most of the popular programming languages already have some level of support for WebAssembly.

Currently the WebAssembly versus JavaScript debate is often centred on speed, as WebAssembly aims to provide near native performance compared to JavaScript’s interpreted approach. However, this misses the point, certainly regarding future systems (not least as JavaScript can be compiled to WebAssembly’s binary format). Rather it is that this therefore by passes JavaScript and the compile-to-JavaScript camp completely as it allows potentially any programming language to be used for web-based applications. Thus, JavaScript may not be needed at all in the future.

However, by 2023 it is 6 years since WebAssembly was first released and it is notable that since April 2022, WebAssembly 2.0 has been in draft status. It might well be that after a much hyped launch (and some security concerns see this site for a discussion of malicious code on WebAssembly sites) it is now too long ago for WebAssembly to really threaten JavaScript directly.

Frameworks and libraries to watch in 2023

There are several very widely used JavaScript frameworks that every JavaScript developer should be keeping their eye on, the obvious ones include React.js, Angular.js, and Vue.js (the big three). Of course, on the server side Node.js and Express are very, very widely used.

Other frameworks to keep an eye on include Ember.js, Preact, and Svelte.

Of this group Svelte is particularly interesting and it may well be the framework to watch in 2023. It has a unique approach to application development that aims to reduce the time and effort spent by developers creating an application. Once created the application is then completely independent of Svelte.

Framework  

Pros

Cons

Use

React.js


Facebook, Flexible, integrates with other frameworks

High learning curve, Single Page Applications (SPAs), View layer of an web app


Angular.js


Google, Toolset, ecosystem of add-ons, structured apps


Huge learning curve, still evolving, TypeScript preferred


SPAs, Web Apps, large applications


Vue.js


Small, quick to learn, very flexible, performance


Too flexible, focuses on building UI


SPAs, UI of a web app


Node.js


Server side JavaScript framework, easy to work with


Dependence on callbacks (callback hell), really needs Express on top


Server side services


Express


Provides features needed by node, easy development, easy to learn


Need to understand Node and middleware concepts, templates can be confusing       


REST APIs


Ember


Provides useful framework, can be very productive, large user community


Not very flexible, can be slow, quiet old


Large web applications


Svelte


No need to write code, short learning curve, new approach to development


New approach to development, small community, limited feature set


Web apps


Preact


An alternative to React, simpler implementation, fast, easy to learn


Small user base


Web Apps

Summary

12 months on and we still believe that JavaScript is a language of the past, present and future. Of course, the JavaScript of 2033 or 2043 might well bear little or no resemblance to the language released as ES6 in June 2015! But like the axe that has been in the family for generations, with five new handles and three new heads it will be as important then as it is today.


Would you like to know more?

If you found this article interesting you might be interested in some of our JavaScript courses:


Share this post on:

We would love to hear from you

Get in touch

or call us on 020 3137 3920

Get in touch