So generally we as developers have been stuck in the era of developing without proper tooling, and we’ve had to settle for the common denominator between the major runtimes at that time.
In the past couple of years however, we’ve seen a rise in source to source compilers (also known as transpilers) to address this issue, but we have mostly been using approach this to invent new languages such as CoffeeScript, TypeScript rather than focusing our efforts on the emerging standards.
npm install -g babel
Compiling our code with Babel
Babel is distributed with a command line tool, which works great with make, otherwise there is also a very extensive collection of plugins available for almost every build system imaginable, most notably would be grunt, gulp, browserify transform and webpack loader.
Babel generates very clean code that almost could be mistaken for handwritten code, It’s pretty smart at not going things when it doesn’t have to, and it is very activly maintained.
We often tell our peers, especially juniors that programming style is just a matter of personal preference, and i used to share this sentiment, but the more i think about it the more i realize that this is just bad advice, even tho the compiler might allow you to write braces or spaces in five different styles, that doesn’t mean you should. The language, in combination with the standard library always sets a precedence.
In this day and age, nearly everyone uses git. From designers to engineers we all depend on it. Despite git being a really good version control system, enevitably we do sometimes mess up and have to fix our configuration and/or working tree, or just plain forget how to do that one thing we rarely do.