I was around when Java first came out and lived through the sometimes nightmarish stability problems in the early releases. Java was out before .Net was even alphaware and it brought a great deal to the table. But something went wrong or better yet, nothing went right. Advances were slow, the VM was a hog and was slow and the UI was a hack. We were all waiting thinking, "Wow, this will be great when they finish it!". But that never happened.
Now, with C# we got everything we wanted and a fantastic IDE to boot. Everyone I know has gotten out of the Java space and it feels like Java is going the way of Cobol (there but not talked about, just maintained).
Enter Google, stage left. Google does quite a bit with the Java VM. Google is enormous and is like an octopus with thousands of arms in every direction. Could Google's shear weight be enough to keep Java alive? Possibly. But there are now new ferocious competitors (Ruby for one) that are viable alternatives with an army of avid (if not a bit misdirected) developers fighting for it. I feel Google has the future of Java in it's hands. It has used the Java VM without promoting it. If it decides to change horses, Java would vanish into the mist with Cobol. And where is Sun? Sun still can't decide if it's a hardware or software company.
I'm not promoting Java, I'm diehard Microsoft. But everyone needs competition. And I'm a technologist first. I hate to see good technical effort and ideas go to waste.