Oracle has made some decisions about Java: in order to release JDK 7 in the middle of next year, they have decided to change priorities and specifically, postpone three features: Jigsaw, Lambda and Coin.

..... the largest of enterprises, running huge apps that handle millions of transactions a day, on multiple platforms (particularly Unix/Linux).

For that arena, Java/JEE is actually quite good. Java's relative conservative approach to adding new features here is actually helpful, because this class of application has to be easily maintained and extended, and simplicity of features helps. Also, the JEE APIs are built for the largest of apps/enterprises in mind.

Also, from a vocational perspective, Java has a very high barrier to entry. I'm an experienced developer in multiple languages. But my work experience is not specific enough to Java (to be a top notch candidate to get top dollar, which my experience actually deserves), and in particular the bazillion different frameworks, IDE's, build tools, APIs, App servers, version control systems, and on and on.

Heck, it can be difficult even for experience Java developers to meet someone's specific laundry list -

"What, you have 5 years with JSF/EJB/Jboss/Ant/Eclipse? Sorry, we need 8 years experience with Spring MVC/ Spring Container/Tomcat/Hibernate/Maven".

And say you want to move into Java or C#, after having done C++ or Cobol or something else for a number of years.

With C#, you need a book on C#/.Net/Visual Studio (one book) and maybe something on WinForms and/or ASP.Net (maybe another book or two), and optionally something on Entity Framework or ASP.Net MVC, or even WPF (again, optional). That's really just two books, maybe three that are needed.

As an open source fan, I think all that choice and strong ecosystem are great. But it adds huge complexity to one's career path, not to mention developing and deploying.

But for me, C# looks really attractive - I have lots of experience in VS, C++, and C#, and some in ASP.Net. It's a simpler career path, and C# devs are comparable to Java devs in terms of compensation. Plus, C# is just a much nicer language than Java. It's as if Anders Heijlsberg learned from Sun's mistakes, and did it right.