Javascript Isn't Just The Language of the Web
Tags: javascript
Published: 2019-12-02 19:25:42

While the core concepts of Javascript haven’t changed much since its inception, the places we can use the oft hated language have rose beyond anyones expectations. Against the hopes of the legions who call it a toy box for front end developers, Javascript is taking over the world, just like it took over the world wide web before.  Forget the sugar es6 introduced, forget the burgeoning library of front-end frameworks, javascript is ready for so much more than a desktop browser.
Javascript is an (air quotes) “object-oriented” language, but containing first class functions, leaving a wide open door for function programming styles as well. The problems with javascript are bemoaned on the internet with such frequency you could set your watch to it, so today I’m going to be talking about one of its accomplishments. That accomplishment is simple: It is the number one programming language in the world. Occupying a throne not unlike English when comes to the spoken word, javascript has slowly proliferated everywhere we look from web design to web apps, to desktop apps and native phone apps. The calamitous rampage of JS to take over the world, dragging old-school programmers with it, kicking and screaming “strongly typed” seems to be constant and almost inevitable. And, while the internet bemoaned its chosen warrior, JS, JS quietly crept its way out of our web browsers and into desktops and phones. As I attend coding lessons, I learn the stranger and stranger places that javascript is heading, from game design to augmented reality. And it strikes me that for all the hate and persecution javascript receives, it never stops, and it shows no sign of slowing.
``` today===javascript //true ``` 
Right now, you can learn javascript and never build a single frontend with it. You could learn the language inside and out while building a video game in Phaser, Crafty,  PhysicsJs or one of fifteen other libraries or frameworks,  or using webGL, or even native Javascript for a turn based game. Even Unity, one of the prime engines for triple A video game titles, ranging from Ori and the BlindForest to The Stanley Parable, can be written in Javascript. And Javascript itself, can be written in a variety of strict and unstrap supersets.
In a world filled with lamenting coders who necessitate strongly typed variables, a hero brought the first light into the darkness of web development. And then another hero, and another hero after that, until their was an awkward mess of superscripts and other stands in that could be compiled down to native javascript. Typescript a script superset of javascript with the clean and clear purpose of making it a better language. Whether it achieves that without ending up overly verbose is up for debate. Elm  a strictly functional language, ridding you of those pesky object oriented thought patterns that we all know you are too cool for, Dart a classical Object Oriented language, purescript, coffeescript which started it all, clojurescript, scala, and reason too. The ways to write javascript have a grown just as steadily as the language, but the existence of all these compile ready languages is simply a reminder that javascript has come for us. Run from it, hide from it, it does not matter. Javascript is here. And here. And here as well
A shortlist of where and what you can build with Javascript:
Android, Iphone, VR, AR, Alexa Apps, 2D games, 3D games, AI, Servers, Package Manager, Automation, Desktop Applications, TV applications, Kinect apps,  Frameworks, VSCode extensions, Browser Extensions, Xbox, Playstation.
``` tomorrow === javascript // true```
It is my view, that today, if you can think it, you can build it in this language. For all the overdone and overwrought packages and libraries and tools the javascript community has produced, it’s also assured that any problem you need to solve has been solved in at least several half steps for you already. When we dream, it is time to dream not in sheep, not in hopes, not in slow falling Tetris blocks, but in code. And the code of today is javascript. What will you build with it?
(No affiliation or sponsorship from software development languages Javascript, ecmascript, Mozilla or any other entities. The views and words expressed here belong purely to the writer)