I'm an experienced Java programmer that for the last two years have programmed for necessity in C# and Javascript. Now with this two languages I have used some interesting features like closures and anonymous function (in effect with the c/c++ I had already used pointer functions) and I've appreciated a lot how the code has became clearer and my style more productive. Really also the event management (event delegation pattern) is clearer then that used by Java...
Now, in my opinion, it seems that Java is not so innovative as it was in past...but why???
C# is evolving (with a lot of new features), C++0x is evolving (it will support lambda expression, closures and a lot of new features) and I'm frustrated that after spending a lot of time with Java programming it is decaying without any good explanation and the JDK 7 will have nothing of innovative in the language features (yes it will optimize the GC, the compiler etc) but the language itself will have few important evolutionary changing.
So, how will be the future? How can we still believe in Java? Gosling, where are you???