Write ES5 and time how long it takes you to complete projects of a given size.
Write reactjs code but use the JSXTransformer. Watch page performance. Watch how many times you reload the page in a given sitting.
It's really only when you find yourself with a problem that you can quantify that these tools start to make sense.
Discover for yourself why these tools exist or you'll waste a ton of time learning the newest thing and in the end not have gained much at all.
Three exercises along the lines of the parent that I found particularly valuable:
1. Compare VanillaJS TodoMVC to your framework of choice
What does the framework buy you? Is the framework-powered code easier to read? Easier to understand for a newcomer to the code base?
There are about a dozen small errors in the code in the book, see if you can find them.
Think about the possibilities and limitations. (I personally love his approach at the beginning of projects when I could care less about fiddling with gulp and want to get into exploring the guts of a problem)
Standalone JS was meant to add little bits of interactivity to documents. If what you're building is interactive documents, build tools are generally overkill. If you're building applications, the tools exist largely b/c JS-in-the-browser was not designed to build applications.
Exatcly. It's important to clarify these things because so many inexperienced developers get lost in the maze of js tooling for no apparent reason.
Learning how to use these tools takes time which could be spent on learning how to program properly. And in some cases JS tooling isn't necessary at all, even in more complex projects. For example if you end up working in environments such as rails where most of these things are done automatically.
I've also noticed how people seem to look down on GUI tools such as https://incident57.com/codekit/. I think it's a great solution for beginners and people who don't need complex custom tooling.
Rather than blaming the user we should probably recognize there are quality problems that are the root cause of user confusion.
Good point. Another reason to be careful is that there are too many half-assed solutions to problems that might not even be real.