Yes, it is harder to come up with the actual design, architecture, algorithms, testing of your program than the actual coding. You should definitely use what makes you more comfortable but criticizing/hating a language because it is not adding whatever is currently hot under the Sun is also obnoxious and arrogant. C++ is a lot older than Java and can be also a pain to write programs in and yet for whatever reason people love to hate Java because it is not keeping up with the times. There really is not much you can do to Java at this point. The tools on the other hand, do make a huge difference. Eclipse is a really time saver and actually makes you a more efficient coder.
I don't hate Java. The language is good and the JVM is great.. but I became increasingly displeased with the fact that the evolution of the language seemed to become slow and aimless. Couple that with where the tools were going, and I felt like it was getting harder and less fun to write applications in Java.. so I kind of bailed.
There really is not much you can do to Java at this point
Because it's basically perfect? Okay.
At any rate, really my point was not "Java sucks, I'm over it"... my point was that I think the community of programmers that surround a language are for better or worse stewards of the direction, best-practices, idioms, and common ideologies that affect my experience developing in it. Jim's arguing that he's not like that.. fine, but most of the rest of us are. We use libraries written by other developers, work with other developers... the community matters and shapes our experiences as a [Insert Language] Programmer. I'm just saying that for me, that community was thriving at one point, and then around when Java 5 came out fragments started showing.. things got worse, and now I don't really see much to get excited about. The frameworks are ridiculously heavy, I hope I never accidentally figure out what an Enterprise Service Bus is for, and generally I just feel like the direction of the language (and probably the platform) seems rather driftless.
>The frameworks are ridiculously heavy...
I agree with you on this part. I kept scratching my head when I was first introduced to Enterprise java beans. It all smelled like BS to me but because more experienced people than me and with more status were evangelizing about it I couldn't really call them on it. In the end I just ignored all of that and used the pieces that I like. Kept everything as simple as possible. I'm not directing this at you but just in general: Nothing wrong with moving to knew languages but criticizing any language because it is missing some simple feature like X and claiming that without it you just cannot work seems to me lazy and full of BS. All languages have issues. The difference is made by the programmer.
That said..
1. OF COURSE you can make languages that are faster or slower to write code in.
2. Trivializing anyone who jumps ship on a language as being enchanted with the 'novelty of a new language' is obnoxious and arrogant.