Robert Cringely has an interesting article predicting the return of Java as a core language for the web: The second coming of Java. The flow of his argument is that Java is much faster than interpreted languages (such as Ruby, PHP, and Python) but performance hasn't mattered because the primary bottleneck has been disk I/O. Without the practical performance downside, Ruby, Python, and PHP have been attractive because of their easy learning curves.
The game changer, according to Cringely is that the disk i/o problem is getting solved with technologies like solid state drives. To qoute:
Yeah, but there’s a problem looming for Ruby and Rails (Python, Groovy, etc.) and it is that web frameworks based on interpreted, dynamic languages only exist at all because disks are just so damned slow. What happens to these frameworks when disks get faster or disappear entirely?
Interesting argument. But I think that in order to bring back the real appeal, Java frameworks need to start practicing some of the philosophies that the newer web frameworks embrace (like convention over configuration). Java developers need to get more pragmatic and stop building Hammer Factory Factory Factories.
Personally, I think the big thing is going to be newer JVM languages (like Scala). That is, if Oracle doesn't get too greedy.