Right, I think people forget that Java essentially aimed to be a vastly simplified version of C++ with garbage collection and memory safety. This was something a lot of people were crying out for at the time. There were some bad decisions in early Java (making data structures synchronized by default, lack of generics), but it's got to the point now where it's pretty good at what it's intended to be.
Yeah I think Java was the right(enough) solution at exactly the right time. I write some Java, but can't say I've ever really enjoyed it. Scala feels, well just more interesting to me. But it isn't easy.