“this” is the future_ Here’s why JavaScript will continue to be relevant in 2030
If the play on words in the title escaped you — there’s a keyword in JavaScript (JS) called “this” which has baffled programmers since the birth of the language.
That being said, it is truly surprising that one of the most misunderstood programming languages now dominates the industry – both in terms of the number of websites using JS or its market position.
It shouldn’t be a surprise, though; JS is incredibly flexible. While used for front-end primarily in the beginning, it has now established its place as a back-end technology, too. Thanks to frameworks like Node for this. The language is forever innovating internally.
However, in the beginning, many elite programmers disregarded JS. Some even went as far as calling it a “toy” language.
These elite programmers saw JS as simply a tool to create animations in web browsers – and they looked down upon the self-taught developer learning animations that were possible only using JS.
But as this world saw much more trendy and complex animations, it was ASP.NET that saved the day for these elite programmers. No? Yeah, not really.
We are witnessing a major transition in the programming world – both in terms of the kind of applications available to the extent of power those applications have. During these times, JS has become the language of choice for all types of programming. Talk about web apps, mobile apps, and even desktop apps – you’ll find JS being used in one way or the other.
Entertainment giant Netflix uses the JS framework on both the front and back end
Uber uses Node.js for processing 2mn+ remote procedure calls/ second
It has slowly but surely become the “language of choice” for all.
Let’s explore the reasons for such widespread adoption of JS, and the reasons why JS will remain relevant even 10 years down the line:
1. No more just frontend: Node.JS
Node.js is definitely an absolute game-changer in the programming world.
Remember the elitist programmers hailing JS as a toy? Well, to paraphrase them, “If you want to learn to program, choose C. JS is awful and will only teach a beginner bad habits”.
To that, my only response is, there’s the door → .
Because Node.JS completely changes that claim.
Node allows JS to do just about anything your “elite” programming language can do. Before Node, the front end was written in HTML, CSS, and JS, but we had to use Python, C, Java, Ruby, etc. for the backend. Well, Node allows you to write the backend code in JS.
This means that the self-taught developer who was animating using JS just needs to learn a new library — written in JS — in order to write the backend code.
With the birth of Node, came NPM (Node Package Manager) which made JS a completely open-source language. The result? Anybody can put on their innovation cap and modify the language! (with certain provisions, of course) These changes can be accessed by the world at large.
2. No more just website: React.JS
A sincere thank you to Mark Zuckerberg and the team at Facebook, because they were the first to pick up on this new trend. They saw a key feature of JS and, obviously, decided to capitalize on the opportunity.
Their “Eureka!” moment was when they realized that you could run JS inside your browser application (aka Chrome). There is literally no other programming language that can do that.
So, when this realization hit the team at Facebook, they decided to create a “Single Page Web App”. Which, in layman terms, is simply your browser communicating with the server just ONCE for you to be able to browse an entire website. The alternative (read: without React) is that every time you click a link, the server re-renders the entire website.
For more perspective, imagine a train full of people – all screaming at each other at once, trying to communicate. That is basically the internet. The “Single Page Web App” is, simply, giving everybody in the train a cellphone so that they can easily text/call, and talk only when they need to. The result? Reducing traffic, speeding up communication.
As of today, there are of course other frameworks similar to React, such as Vue and Angular, which are essentially based on the same concept, but the rate at which React has grown is truly appreciable. Some credits to the Facebook team for this.
These frameworks have already proven themselves as the definitive way of building web apps – a feat no other language was able to achieve so far.
“So what?”, the elitist programmer snarls, “You can build web apps, but what about mobile and desktop applications?”
“…”
🙂
3. No more just web apps: React Native & Electron
Remember when we said that “anybody can write new JS”?
Well, turns out, if you give a group of bored developers the ability to work on improving a language, lots of people want to participate.
And with that came the answer to desktop and mobile apps: React Native and Electron.
Although still pretty much in their infancy, these platforms — build using our humble Node.JS — allow developers to write more than web apps in JS.
React Native is basically React.JS i.e. a JavaScript framework. Traditionally, iOS applications were written in Apple’s Swift and Android in Java. Now, because of React Native, you can write them in JS.
Electron, also built on Node.JS, is a platform that allows you to develop desktop apps the same way you develop web apps, with HTML/CSS/JS. This is a major change as traditionally, most desktop apps were written in C++ or C#.
So now, the self-taught programmer only needs to learn one more library — not to mention, written in JS — to be able to develop desktop and mobile apps as well.
Which language should I learn?
So when it comes to the question “which programming language should I learn in today’s world”, the answer should be – a language that lets you do the most.
There’s a major rise in self-taught developers these days. In 2015, the number stood at 42%. In 2019, it’s gone up to 65%. JS, a syntactically easy-to-learn language with so much to offer, is often their first choice – whether they’re developing a web app, mobile app, or desktop app. Or even for cool browser animations.
What percent of these self-taught developers are going to dive into C++ or Java? Well, they might buy a book or two on C++, impulsively, or even watch a monotonous college professor explain variables in a 2-hour lecture on YouTube (at 1.5x, obviously). But that’ll be it. That’ll be the death of their willingness towards learning the language.
Instead, these programmers are going to be fascinated by how to make the browser go WOOSH on the click of a button. No.
And as silly as it sounds, we’re betting all our chips on the fact that future programmers will be investing their time into the language that lets them do the coolest stuff.