> The sheer number of tools and plugins and packages and dependencies and editor setup and build configurations required to do it “the right way” is enough to stall you before you even get started.
At some point you have to ask yourself how much of this is good engineering (does it help the end user?) and how much it's just having fun and impressing fellow engineers. Is the complicated build process worthwhile just to obtain a nicer syntax (for the current definition of "nicer")?
My best experience is with Ember and Ember-CLI where the build process is pre-defined and laid out for you, and the requirements to start a project are: have node + bower + ember-cli installed globally, type `ember new project-name`, `npm install` it to get the dependencies, then start writing ES6. Type `ember build` when you're ready to create a browser-ready artifact. As far as tooling and build processes go, IMO it's less cumbersome than setting up a proper Go environment and cross-compiling to different platforms.
>At some point you have to ask yourself how much of this is good engineering (does it help the end user?) and how much it's just having fun and impressing fellow engineers.
Javascript (and most Enterprise) developers will tell you it's the former. Nearly every other developer will tell you it's the latter.
Enterprise Java developers are used confusing and magical build tools, so a few tools for JavaScript isn't going to strike them as being weird or complex.
I don't think I agree. Willingness to learn vs willingness to expend mental capacity are different. Sometimes the mental capacity to learn the abstraction equals what it would take to just deal with the complexity that the abstraction is attempting to hide.
Imo, most of that is worth it. It does not help end user specifically, but it helps you a lot. Looking at the screen shot, some of it turns the old ugly JavaScript and css into something sane, less browser difference sensitive. Some of it generates/minifies result and some of it are libraries you would have to write by yourself.
At some point you have to ask yourself how much of this is good engineering (does it help the end user?) and how much it's just having fun and impressing fellow engineers. Is the complicated build process worthwhile just to obtain a nicer syntax (for the current definition of "nicer")?