4 ms·
i understand your love for javascript... but i dont understand the hate for es6 & upwards. ive rewritten all my code to atleast es2015 and lost so much overhead
by thepapanoob 9y ago
i understand your love for javascript... but i dont understand the hate for es6 & upwards. ive rewritten all my code to atleast es2015 and lost so much overhead while doing it wich makes my projects alot easier to maintain. (and alot more predictable)
the only thing wich is lacking right now is native support for it in the browsers
- erikpukinskis 9y agoPromises introduce declarative control structures basically between every function call in an async application, which is a nightmare for debugging. ES6 introduces way more syntax, making it much harder for beginners to learn. Arrow functions make scope much harder to reason about, which makes closures more of an anti-pattern. In ES6 closures are one of a tiny number of scope patterns so you can actually use them. Arrow functions cause bind to break in unpredictable ways. Most other ES6 features are just syntactic sugar which offer no software engineering benefit and add a whole layer of conflicting code styles that one must constantly switch between, or else deal with constant pointless linting fixes if you are adhering to a consistent standard. ES6 demands you use a transpiler which makes debugging flakier, and adds another place for bugs and maintenance work, in addition to often slowing he build down. If I wanted deal with that much headache I’d just use typescript and at least get type checking in exchange for the syntax change and transpile step. ES6 exists because some programmers never understood prototype and bind. And felt naming a function that is only called once was icky. Mostly former Ruby programmers. So they bolted a shitty Ruby onto JavaScript in order to get people to stop using prototype and bind, which are the heart of JavaScript’s control flow. Basically the chest burster from Alien.