I've always thought listening to users is a virtue. In that spirit, let me say as a JavaScript developer, who's been doing it pretty much every day for the last five years or so, I've mastered the callback way of writing apps in JS. Now, in the latest version of the language, there are a number of alternatives to this.#
One of the advantages of having a consensus platform like JS is that we all do things the same way. It works just like standards. Two ways of doing something is worse than one, no matter how much better the second way is. That's another way of stating Postel's Principle. In this case, I already have so much code written using callbacks, and my brain works in callbacks (a bigger hurdle), and I like callbacks. The only reason to use one of the other forms of async programming is that other devs are using them to document their ideas. There goes the consensus. #
Agreement in tech is the most precious thing, and designers often devalue it. The more agreement there is the more leverage we have, and the faster we can move. Remove consensus and we actually take steps backward, which is all too common in software. It makes it difficult to do multi-year or even multi-decade projects. (Not a dream, I have projects I've been working on for multiple decades.)#
I'm having a similar problem with let, but it's somewhat different. In this case let is how var should have always worked. It would make sense to replace var with let everywhere. But if I do that with search and replace, I know some things are going to break, and they're going to be hard to find. There's never going to be a good day to do that. And my brain still uses var. Also I think let should have been called local, to indicate what it does, instead of let which is just a H/T to Basic, as far as I can tell.#
BTW, as an old Pascal programmer I am a big fan of const. That one is usable without any conundrums. #
Anyway, just some feedback from a user of the language.#