I'm surprised at how many of the answers here are rationalizing JavaScript's monopoly, saying that it's a fine language / it's optimized / stop complaining / etc.
That seems like the programming-language equivalent of Stockholm syndrome, i.e. "We're stuck with X, so we should justify and defend X as a coping mechanism."
The question you should consider isn't, "Is JavaScript a good language?"
The question you should consider is, "Is JavaScript's monopoly good for the web platform?"
I'm not sure even that question is a good one to consider - I think the market already has shown what happens when attempts to move off JavaScript happens with Google and Dart. The various other browser vendors didn't bite, and the industry as a whole remained with JS.
IMO the best question we have given the realities is "what can we do to make JS workable?"
"The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." - George Bernard Shaw
The question you should consider isn't, "Is JavaScript a good language?"
The question you should consider is, "Is JavaScript's monopoly good for the web platform?"