The beating of web programmers with new languages will continue until morale improves :-)
I mean, until somebody figures out that the HTML/CSS/DOM etc make the task nearly impossible, no matter what language.
Oddly, I think the problem is orthogonal. Mayhap that isn't the correct word.
Regardless, my assertion is that the problem is when most of us write web apps, we think of it as a single application. Frameworks often make this worse, as half of them treat the goal as to hide that you are writing a distributed application.
Contrast this with what is really going on, where you have -- at a minimum -- a front end and a backend operating independently of each other. And I'm not just talking multithreaded. They are literally completely disconnected from each other.
So, consider how we use all sorts of paradigms to try and make writing a multithreaded program easier. Now, consider at the end of the day many of these tasks can be done with simple locks and semaphores. Better yet, consider that most of the higher abstractions build on those.
Now, when is the last time you saw a tutorial for using a semaphore between an html front end and a backend?*
* I'm really hoping someone proves me wrong on this question. :)
But they are disconnected, one is running on the client, the other on the server. Regardless of any magical unified framework, there will be two processors talking asynchronously over network protocols. GWT does this kind of integration and it's far from a panacea.
Apologies for poorly making that point. That is, my point was that we need more ways to embrace this separation. I'm not sure unifying the language on client/server would really help.
I would say that many if not most of the issues in front-end webdev have been / are being fixed (web components, flexbox). Supporting non-evergreen browsers (ie. IE < 11) is what makes the task difficult in my opinion.
Note that it's not just a "web" language. It runs on the JVM (as well as in the browser), and can be used as a more featureful Java replacement. To this end, it has very nice interop support with Java [1], helped by their similar syntax/structure.