Issue #193 (ES6 Abomination, JS Utilities, Git/GitHub, Data)

"JavaScript was a great beginner language, but it has now been 'professionalized' with ES6, requiring insane build chains, transpiling, shims, all this stuff just to run a basic web site. JavaScript has been ruined by professional programmers (mostly Rubyists) who never learned how to use the object model, or how to structure functional code well. So we get ES6 classes and promises and async and all of this junk that makes the language impossible to build and debug. And I say this as a full time JavaScript programmer of ~5 years, after ~5 years of Ruby. I love both classic JavaScript and Ruby, but ES6 is an abomination."

That's pretty harsh. I don't necessarily agree with it, but I can absolutely see where the commenter is coming from. This goes back to the overwhelming nature of tooling in the JavaScript ecosystem, so the basic concern is nothing new. But I found it interesting that this person specifically targeted ES6.

I think a lot of us who got used to writing ES5 and lower, and who figured out how to do pretty much anything long before ES6 can understand why it feels superfluous to add so many features and tools to basically accomplish some of the same things.

But I think the case for ES6 is pretty solid, especially for complex web apps that involve functionality that we wouldn't even consider building in the past. So while the sentiment of the comment above is understandable, I don't think it's correct. Especially when you consider that nobody is being forced to use ES6. We can basically pick and choose the features we want, adding new ones as we get more comfortable, and out of necessity.

Now on to this week's tools!

JavaScript Modules and Utilities

Purser
A lightweight JavaScript library for preserving user data from first website visit to signup.

Store.js
Cross-browser local storage for all use cases. Now at version 2.x.