By Sergey Gernyak, Back-end Engineer.
Currently there are 3 versions of JS in use: ES5, ES6, ES7. But! Only ES5 is supported by all browsers. In order to use the very cool syntax (comparing with ES5) of ES6/7, you need to use compilers to convert your cool code into the S&#* that all browsers eat. Some nightly builds on Chrome can help execute ES6 successfully, but this is only one of the many browsers in operation. It is unclear when ES6 will become the new standard. So you’ll need to continue using compilers in both the near and distant future. But we’re pretty sure when ES6 is finally approved as the standard, another version will be created, and declared as way to go. Perhaps it’ll be called ES10 and you’ll need to continue using compilers forever.
A lot of libraries are not always a good thing
Have you heard of that game where you call out a word and then you have to find the library that uses that word as its name? It’s a very funny game and you can be sure that you’ll be very surprised by the naming conventions for JS libraries. If you add alcohol to this game you can definitely get very drunk during the game :-). However it’s not that funny when you’re trying to solve a problem! There are a lot of libraries titled version 0.0.1 and most of them do the same thing. So you find everybody trying to reinvent the wheel in order to try and support and develop the one already in existence. There are a number of libraries that are very small, maybe about 10 lines of code and they are responsible for very simple actions. Those actions are so general so they should be part of the language, IMHO. From my perspective, it seems that the language is actually really poor. But at the moment you really have no choice: either you use the library or you’ll need to reinvent the wheel for each project, again and again. As a result, what appeared to be a very lightweight library brings along a ton of other dependencies you weren’t expecting.
Hipsters… Hipsters everywhere!
Hmmm, You know what’s interesting? How long some pretty solid and mature solutions/libraries/frameworks live in mainstream? You might be surprised to hear that we’re talking about a couple months to 1 year max. Say what now??!!? There we all are spending months learning to use a framework. You implement the key part of your application using that framework and then just a few short months you have to tell your client that you need to rewrite the whole application because the current framework is old and is not maintainable. WTF?!? Fucking hipsters! It really seems like they are not patient enough to try and craft a solution and cultivate it to ensure it becomes mature. Instead they just want make a new one-time solution and then quickly announce it at the next big thing at the next conference. So the way the they solve problems is to develop another version that creates new problems. Awesome!