At the time I think Java was a god-send, in terms of impact, if only for a short while. At least from the limited perspective of the code-bro-kiddie that I was back then, it filled a glaringly empty spot perfectly: that of transitioning from understanding Basic and Pascal, to understanding the basic principles behind most other languages that I had failed to grasp earlier, notably C/++. The "serious languages" (C, Perl) were cryptic, the "simple languages" were "toys", no Python/Ruby/etc to speak of (in my universe). Just simple choices such as calling pointers "references", omitting their funny operators, memory management, and presto, Basic/Pascal with braces and more expressive "records", I'm sure made many things click for many developers for life and allowed crossing of a certain chasm there. Also it really propelled MS to come up with a neat, clean, well-designed, robust "answer", which they did.
One thing I think Sun got wrong with Java was being religious against AOT compilation.
Had that option been part of the standard toolchain, instead of only commercial JDKs, I bet there would even be more people adopting it instead of keep using C and C++ for certain classes of user space applications.