upvote
I judge languages by how they look. JavaScript is a wall of const/async/await these days, which is ugly. Functionality aside (the APIs have gotten pretty decent), the language has gotten uglier. It used to be nice and nuanced even with boilerplate. Closures and prototype inheritance is neat. Walls of const are not. Does every enclosed function need a million consts for every expression?

Also, it’s a language where everything happens somewhere else. Not here and now, somewhere else on some other event. That sucks for the small stuff.

reply
I am still 95% sure async/await was a mistake.

Async JavaScript using callbacks had a learning curve, but once you learned how to contain it and treat callback indentation as an opportunity to refactor it felt similar to coding in lisp.

The problem was the learning curve, and the fact you had to rewire your brain a bit compared to coding in something procedural.

reply
Yes, I keep saying this. Async await is like loading spinners - a fix for a problem that shouldn't exist in the first place.

As much as possible should be happening locally, synchronously on the computer, in-process, or at least without yielding your thread context (and even then there are things like page faults which async/await wont save you from, they are 'invisible' to a regular developer).

While you might dismiss this idea, page faults used to be THE leading cause of delays back when hard drives were the norm.

reply