This is a very interesting article written by Bruce Tate. He points out some of the limitations of the Java language and how those are being addressed in Java. It also covers some other possible languages like Ruby, Python, etc.
He mentions at the end of the article that he is going to look beyond Java in future articles. Those should be interesting as well.