How it feels to learn JavaScript in 2016

Naveen Chawla naveen.chwl at gmail.com
Sat Oct 28 10:20:51 UTC 2017


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, <kaizhu256 at gmail.com> 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 <naveen.chwl at gmail.com> 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, <kaizhu256 at gmail.com> 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 <rtm at gol.com> 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 <kaizhu256 at gmail.com>
> 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 <ljharb at gmail.com> 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 <d3ck0r at gmail.com>
> wrote:
> >> >> >
> >> >> >> (humor?)
> >> >> >> https://hackernoon.com/how-it-feels-to-learn-javascript-in-
> >> >> 2016-
> >> >> >> d3a717dd577f
> >> >> >>
> >> >> >> It all seemed so simple....
> >> >> >>
> >> >> >> _______________________________________________
> >> >> >> es-discuss mailing list
> >> >> >> es-discuss at mozilla.org
> >> >> >> https://mail.mozilla.org/listinfo/es-discuss
> >> >> >>
> >> >> >>
> >> >> >
> >> >> _______________________________________________
> >> >> es-discuss mailing list
> >> >> es-discuss at mozilla.org
> >> >> https://mail.mozilla.org/listinfo/es-discuss
> >> >>
> >> >
> >> _______________________________________________
> >> es-discuss mailing list
> >> es-discuss at mozilla.org
> >> https://mail.mozilla.org/listinfo/es-discuss
> >>
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20171028/d8205831/attachment-0001.html>


More information about the es-discuss mailing list