A friend in my company recently attended a training titled "LSSD in Java" (LSSD = Large Scale Software Development). The trainer is a guy whom all of us (who attended his other trainings) consider a HUGE SHOT (big shot isn't big enough).
Now after 2 days of training guess what he concluded the training with: "Don't use Java for LSSD"
(where large is defined as 35-40K+ lines of code)
Beleive me when I say the guy is good enough to make such stmts and conduct such trainings (teaching "Don't use Java" in an "LSSD for Java" training) and probably making Rs. 10K (~250 US$) per person per day.
My question to you: Do you think Java is good enough for LSSD?
My own take on this is no. Java isn't good for most big/complex/time-critical backend applications. It was excellent for web/gui. (Now with .NET and C# it has competition in this area as well).