Sure, but that’s one of things I lump into “political reasons” - it’s not for end-users and it’s not for technical superiority (although indirectly it can affect both - which is often true of political reasons).
I remember them happening during betas, and then being “fixed” in time for release? My memories back beyond about 1.3 are vague because until then I always upgraded automatically (so many critical bugfixes!) and it seemed almost everyone else did too.
But it’s all relative…for instance, it seems to me that structs would provide greater advantage in more situations with less change to the language (syntax) - yet they seem to be held back largely because they require “too much” of a change. (this may be unfair, it may be only true of non-sun staff, but I’m just laying my thoughts on the table here - this is how it seems to me).
And other things that would have a much wider and greater beneficial effect on java - for instance true (or even semi-true) contracts. Or aspects…
Not that I’m saying “we should have ALL of these” but they are all things that people have been clamouring for for ages, have good reasons for needing, and every single one of them seems considerably more useful than generics and to require considerably less change to the existing java language! And all of them have reference implementations of one sort or another that are quite stable (for reference implementations) with people offering to donate these references as a base for Sun or JCP to build an better implementation on top of.
IMHO, this is a large part of why it leaves a sour taste in the mouths of many java developers - there’s a sense that the users of the platform are being screwed over / left out in the cold / manipulated by “the powers that be” with “improvements” that few want whilst being denied much more powerful and useful improvements with less reasoning.
Anyway, I’m still wavering on this whole topic - hence starting the thread. I’m just keen to find out what other people think and to expose myself to some wildly different opinions on this :). But I admit the weight of evidence has me leaning towards “== bad for java”.