The real problem is that most "programmers" have never understood that the craftsman maketh the tool - not the other way around.
If you think there is such a thing as "async hell", or that the new hip flavour-of-the-month framework will save you from such-and-such then your problems aren't in JS or ASM or bytecode....
JS code can and should be beautiful, expressive and elegant, but it will happily offer you enough rope to hang yourself. Sure it might be different rope to that of C, but nonetheless it will gladly hand you the rope if you ask for it.
Snobbery and jealousy have long played a part in the JS world, after all - we all know it's not a "real language" don't we?
The thing is despite its flaws - it's succeeded spectacularly where everything else has failed.
The Java community especially, have never got over the fact, that the bastard little runt that was to provide some petty hooks for their web ambitions, ended up delivering the write-once-run-anywhere dream that their blue-eyed boy never could.
Brendan Eich said it best: "Again we see how the Web favors a succession of “little bangs”
Always bet on JS