Search Result


Is JavaScript the future?

A week ago or so I was trying to explain what JavaScript is to my mother. She's a 56-year-old lawyer, so I try to keep my concepts as basic as possible.

The story usually goes like this: "JavaScript was that shy person in the corner that no one was very fond of. Some years pass and that person got some enhancements, call them jQuery, libraries, frameworks, standardization, etc. Suddenly, we realize it's cool to hang out with that person, even though he's so misunderstood. He contributes so much to our web projects that it is absurd to even conceive them without him."

What I was trying to say is that regardless of the confusing nature of the language itself, JavaScript is rising up in popularity dramatically. "Back then" (1998 or so) I was advised to turn JavaScript off of my browser (you still can) because of security and performance issues. Today, try running Google with JavaScript off and see what happens.

JavaScript was built with the purpose of aiding web developers of the mid 90's to perform "simple" tasks, like tieing page elements (forms, frames, images). Today, it is possible to use JavaScript for desktop, mobile, microcontrollers, and even robotics development.

Popularity

Many programmaing language popularity indexes and polls rank JavaScript in the first places, like this, and this, oh and this.

Easy to contribute to

The point above has a link, check it out again. It is incredible easy to contribute to any JavaScript project. It is no coincidence that it is the most popular language on Github.

Like I mentioned in my previous post, the number of libraries and frameworks is almost stupid level.

Big frameworks

The rise in popularity is also because of the rise of full frameworks, built entirely in JavaScript. Many of them are built with a MVC pattern or similar, AngularJS (Google) being one of the most popular, but also be sure to check out Aurelia, Ember, Meteor, Polymer (Google), Backbone, Knockout and of course, React (Facebook).

JavaScript on steroids

Node.js is the first mainstream solution for running JavaScript on the server. If you haven't heard of it, Node.js is pretty sick. With an impressive package manager npm, today Node.js is used by large companies such as Microsoft, IBM, Google, LinkedIn, Netflix and many others. This may as well be an indication of Node.js taking the enterprise solutions world.

For mobile development, PhoneGap, Cordova, NativeScript and React Native all try to accomplish cross-mobile development, and now not only through regular HTML, CSS and JavaScript but also through a native implemenation.

Last, but not least, recently I came across Github's Electron. Basically it is JavaScript for full applications that take advantage of the OS API. Example applications written with Electron include Visual Studio Code, PostMan, Rodeo, Slack and many others.

Conclusion

Like Jeff Atwood said, "anything that can be written in JavaScript, will eventually be written in JavaScript".

I think that one of the reasons that drive JavaScript’s growth is the desire for a single development model to build software for multiple paradigms. With JavaScript rapidly becoming a viable option in all of these worlds (web, mobile, desktop, server and hardware) it’s uniquely positioned to make this desire to build a reality.

Is there a right tool for the right job? More than one tool for one task? I think both answers are acceptable.

EDIT: At the time of my writing, I found an implementation of Scala for JavaScript. It's simply brutal, check it out!

Author image
Profound Jack Daniel's enthusiast. In my free time, I like to code and lift weights. Proud owner of two Siberian huskies. Recently promoted to Software Architect.