I like ditching the intricacies of function prototypes and using classes. Intricacy leads to less maintainability because there is a greater surface area for mistakes and bugs. Arrow functions make this even better because you can reliably move code that uses `this` into and out of them without having to create any `self = this` references. And then `await` `async` - logical algorithms in async world are more straightforward to implement and read. This, again, feeds into maintainability. The foundations of these abstractions are rock solid and their usage is straightforward - there isn't a loss, only gain, for using them.
But, if you prefer ES5 (I don't) then just use it On Sat, 28 Oct 2017, 1:49 pm kai zhu, <[email protected]> wrote: > naveen, how are es modules or generators superior in getting a > frontend product shipped? "powerful" does not equate superior. > > success in shipping a product correlates highly to having maintainable > code (with consistent styguide) that's easy to debug. generators are > a nightmare to debug (compared to callbacks and promises) when doing > integration and qa. es modules have confusing async-magic that few > frontend devs really understand, and results in brittle module-loading > code nobody wants to touch and risk breaking after its written. > > the es6+ projects i've worked on all have significant amounts of > brittleness which leads to them being difficult-to-ship as features > could not be added or modified without fear of code-changes breaking > something. 2016 and 2017 have been rough years for anyone trying to > get es6+ products shipped. and i suspect it will remain the same for > 2018. > > if you're a product manager and your priority is to ship a frontend > product, then your safest bet is to avoid es6 altogether. > > On 10/27/17, Naveen Chawla <[email protected]> wrote: > > kai zhu, it sounds like you have a bad manager who is over eagerly > pushing > > for a disruptive transition in a well established ES5 project to new > > features. The way to gracefully introduce the new features is > incrementally > > in new code, not existing code, or when modifying existing code. If your > > manager is pushing to translate the whole code base and you are finding > > that a waste of time, then that is not the fault of TC39 or the language; > > that is the fault of the manager. > > > > The features themselves are superior, more powerful and easier to use > than > > the former ES5, so "everyday javascript programmers" will have a better > > time whether they are writing tiny or massive apps. > > > > Yes, new apps should use those features immediately, and the developers > > will experience the benefits, sometimes very significant > > > > > > On Fri, 27 Oct 2017, 11:52 am kai zhu, <[email protected]> wrote: > > > >> in frontend-development, the majority of use-cases are for > >> small/medium-scale applications, where es6 toolings are inappropriate > >> due to their complexity. > >> > >> "reliable, well-engineered, large-scale, performant applications" are > >> a niche application of javascript. tc39 should focus on making lives > >> of everyday javascript programmers easier (who mainly want simple and > >> stable tooling for simple/moderate webapps), instead of catering to > >> niche people wanting google/facebook-scale apps. > >> > >> > >> On 10/27/17, Bob Myers <[email protected]> wrote: > >> > If you don't like those features or the associated tooling, then don't > >> use > >> > them. > >> > Meanwhile, other people will be using them to build reliable, > >> > well-engineered, large-scale, performant applications. > >> > Bob > >> > > >> > On Fri, Oct 27, 2017 at 10:57 AM, kai zhu <[email protected]> > wrote: > >> > > >> >> tc39 is partly to blame for promoting the perception of javascript > >> >> language instability, which promotes tooling instability. > >> >> > >> >> generators, es modules, destructing, let, fat arrows have caused > >> >> tremendous harm to tooling stability, which has made > >> >> frontend-development hell for everyone. > >> >> > >> >> > >> >> On 10/27/17, Jordan Harband <[email protected]> wrote: > >> >> > aka "how it feels to learn"? > >> >> > > >> >> > A decent response: > >> >> > https://medium.com/front-end-hacking/how-it-feels-to-learn- > >> >> javascript-in-2017-a934b801fbe > >> >> > > >> >> > On Thu, Oct 26, 2017 at 3:38 PM, J Decker <[email protected]> > wrote: > >> >> > > >> >> >> (humor?) > >> >> >> https://hackernoon.com/how-it-feels-to-learn-javascript-in- > >> >> 2016- > >> >> >> d3a717dd577f > >> >> >> > >> >> >> It all seemed so simple.... > >> >> >> > >> >> >> _______________________________________________ > >> >> >> es-discuss mailing list > >> >> >> [email protected] > >> >> >> https://mail.mozilla.org/listinfo/es-discuss > >> >> >> > >> >> >> > >> >> > > >> >> _______________________________________________ > >> >> es-discuss mailing list > >> >> [email protected] > >> >> https://mail.mozilla.org/listinfo/es-discuss > >> >> > >> > > >> _______________________________________________ > >> es-discuss mailing list > >> [email protected] > >> https://mail.mozilla.org/listinfo/es-discuss > >> > > >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

