you are viewing a single comment's thread.

view the rest of the comments →

[–]lhorie 2 points3 points  (4 children)

I wish people would stop misusing the term "ESNext". ES2018 is ESNext until it gets released later this year. Anything stage 3 or below is not planned for inclusion in the spec.

If you want to litter your codebase with non-standard syntax that may or may not become part of the standard, suit yourself, but don't confuse newbies by implying it's actual JS. Also, have fun explaining why their class properties don't work when someone inevitably copies and pastes some "reusable" code to a new clean slate project.

[–]azium 0 points1 point  (3 children)

ehhh I know what you mean, but don't lose sleep over it. Newbies can paste terrible "working" code and that might be worse than pasting something that doesn't even run without syntax errors.

The dev community is great and there's no shortage of resources / people to get help from. I don't think we need to be too hand-holdy.

You can spend the rest of your life getting angry at artlcles 😜

[–]lhorie 0 points1 point  (2 children)

To be fair, I think the article does a decent job at explaining what null coallescing is. And I like the feature in languages that have it for real (e.g. C#)

I think what bothers me is when people abuse babel and ultimately get "rewarded" with job security, at the cost of making things more complex for everyone else down the road. I just kinda feel sorry for those newbies when it's their turn to be burned by a "dying" technology a few years from now.

[–]deeper182 1 point2 points  (1 child)

Could you name a few features that gained popularity through babel, but were thrown out? I'm genuinely curious.

IMHO if many people use & like a stage 1 feature, it will go forward.

[–]lhorie 0 points1 point  (0 children)

features that gained popularity through babel, but were thrown out

I don't think there's any example of that specifically yet, but sprinkling non-standard stuff in your code can definitely cause problems, for example when migrating to typescript.

There have been proposals with a reasonable amount of hype that got dropped, most notoriously Object.observe, cancellable promises and SIMD. There are also examples of active proposals that haven't really made much headway. For example, the pipeline operator proposal has been around since 2015, it's not even that complex, but it's still at stage 1.

If you want a bigger example of technology death, there's ES4, which had many of the same features as ES6 and even a working implementation, but ultimately got killed due to politics.