IT is brutal. You either evolve or you die. If JS didn't introduce new features, it would be just replaced with the "next big thing" that introduces things. Arrow functions, classes and promises don't make things more complicated. They are added to make things more readable
I sympathize and resonate with the author. While for me, the JS language features are still manageable. What has outgrown me are the layers upon layers of abstractions used in modern JS app, like React/Redux/... We no longer have a straightforward, plain JS app. To understand the code, we have to 'see through' the thick layers of frameworkds/middleware. Modern JS app is becoming as ugly as J2EE last time used to be.
Please Keep JavaScript Dumb
11–14 of 14 posts
Re: Please Keep JavaScript Dumb
#12Earlier quoted context omitted.
This may be an unpopular opinion, but I disagree. Arrow functions are unnecessary syntactic sugar, and, like much of ES6, feel like the language adding opinionation. Enterprise codebases I work on are locked to ES5 and scale to 100k+ lines. These codebases cannot afford to layer on every new JS "innovation" and hope to remain consistent across 7+ years (the average lifespan of an enterprise app) and multiple develope…
Just because you are locked into the enterprise troglodyte mindset doesn’t mean the rest of the world has to remain living in the past.
Re: Please Keep JavaScript Dumb
#13Earlier quoted context omitted.
This may be an unpopular opinion, but I disagree. Arrow functions are unnecessary syntactic sugar, and, like much of ES6, feel like the language adding opinionation. Enterprise codebases I work on are locked to ES5 and scale to 100k+ lines. These codebases cannot afford to layer on every new JS "innovation" and hope to remain consistent across 7+ years (the average lifespan of an enterprise app) and multiple develope…
> Arrow functions are unnecessary syntactic sugar Unnecessary is a matter of taste. Most don't like having to bring out `.bind()` or inside of the function using `let that = this`.
const that = this;