You’re being incredibly biased towards Sun here, conveniently ignoring the one major factor that is the cause of so much ire: Sun owns Java, and we are forced to suffer if they do not take their ownership seriously, or exercise it in stupid ways.
Don’t give me the “take it or leave it” talk; I’ve had enough of that to last me a lifetime from open-source developers using it as a justification for making their software crap (fx: whiny voice: “No-one’s going to shoot you if don’t use it. You don’t HAVE to use it. I don’t care about you. Go away”). Responsibility is not something you get to take or leave at your leisure: once gained, it’s there whether you like it or not. Sun has a huge responsibility towards java, and java 5 gives the worrying impression that, deep down, they couldn’t give a rats’s arse - they will do whatever the hell they feel like, despite the obvious and inherent wrongness of it.
I know Sun is legendary for ignoring both it’s customers and the market (c.f. the Solarisx86 fiasco. Yes, I’m still waiting (4 years and counting) for my copy of Solarisx86), but I really thought that things were different with java. I believe they were, but it looks like the last vestiges of those with some sense and care in managing java have vested their options and retired / moved on to more lucrative jobs elsewhere. It’s the classic pattern of paradigm-shifting software: the inventors get rich, and sooner or later hand over to a bunch of *-nuts who don’t quite knwo what to do with it, and it degenerates into a total mess.
For people with long enough memories, the big question now is: is it even worth the risk of using java any more, given the near certainty that this is the end? The same patten happens again and again, and each time you hang on in there saying to yourself “maybe this time a company will pull out” you simply set yourself up to be thoroughly buggered in a few years time, when you’re locked-in to a platofmr that has no escape path and is self destructing.
I’ve joined the crowd who are investigating the cost and side-effects of retraining into C# - even though it’s something I never expected to do (why would I want that? - I used to say - it’s got nothing significantly improved enough over java to justify switching).