Up until now, JavaScript has been the only ubiquitous language available in browsers. It has made JavaScript much more popular than its design (and its associated flaws) would have allowed. Consequently:
- The number of JavaScript developers has grown tremendously and steadily,
- The ecosystem around front-end JavaScript has become more extensive and much more complex,
- The pace of changes has increased so that developers complain about JavaScript fatigue,
- Interestingly enough, JavaScript sneaked on the back-end via Node.js,
- etc.
I don't want to start a holy war about the merits of JavaScript, but IMHO, it only survived this far because of its role in browsers. In particular, current architectures move the responsibility of executing the code from the server to the client. It puts a lot of strain on the latter. There are not many ways to improve performance: either buy more powerful (and expensive!) client machines or make the JavaScript engines better.