ES7 fatigue

2016-03-01 Last modified on 2021-05-23

(I was about to name this thing ES7 considered harmful, but first I have to write a «considered harmful» considered harmful post ^^)

<blockquote class="twitter-tweet" data-lang="fr"><p lang="en" dir="ltr">You, working with async/await or whatever ES7 unfinished specs, hoping it'll work in production. <a href="https://t.co/vy5cO96GoI">pic.twitter.com/vy5cO96GoI</a></p>— Siegfried Ehret [Ξ] (@SiegfriedEhret) <a href="https://twitter.com/SiegfriedEhret/status/704407160474771456">29 février 2016</a></blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

Seriously.

I see a lot of project relying on async/await even if it is still a draft !

The TC39's github page shows that async/await also have the following syntax proposal:

  • function^/await
  • function!/yield
  • function!/await
  • function^/yield

I just can't wait for the syntax to be changed.

People will either have to:

  • update the code to fit the final syntax and wait for a babel thingie to compile the good to some good old ES5.
  • keep their code and continue to use a unsupported syntax using a soon-to-be deprecated babel thing.
  • (╯°□°)╯︵ ┻━┻

Another example: Object.observe was removed from ES7 in november 2015.

In the end, by widely using unreleased features or specs you live in another world that can crumble at any time. And people are pushing a spec in a direction that may not be the optimal one.

Betting on unfinished specs is dangerous.<br> — Siegfried Ehret

About async / await, I would like to propose the following syntax: stophammertime / heyholetsgo.