<div dir="auto"><div>Hello Brian,</div><div dir="auto"><br></div><div dir="auto">Thank you for the response!</div><div dir="auto"><br></div><div dir="auto">> My assumption is (a) that they were</div><div dir="auto">> being co-developed and so they were</div><div dir="auto">> focused on the compilation substrate</div><div dir="auto">> they could count on, and (b) it's just</div><div dir="auto">> impractically difficult to think ten steps</div><div dir="auto">> ahead.</div><div dir="auto"><br></div><div dir="auto">Makes a lot of sense, ty.</div><div dir="auto"><br></div><div dir="auto">> Enums as they were done in Java 5 were</div><div dir="auto">> already many steps ahead of enums in</div><div dir="auto">> other languages of the day; enums in C</div><div dir="auto">> were just aliases for ints, nothing more,</div><div dir="auto">> whereas Java's enums were full blown</div><div dir="auto">> objects with state and could implement</div><div dir="auto">> interfaces, with constant-specific</div><div dir="auto">> behavior.  When you're this many steps</div><div dir="auto">> ahead of where the rest of the world is,</div><div dir="auto">> it's hard to see more steps ahead; it's only</div><div dir="auto">> after using them for a decade that the</div><div dir="auto">> limitations start to chafe.</div><div dir="auto"><br></div><div dir="auto">Amen.</div><div dir="auto"><br></div><div dir="auto">Enums are my all-time favorite feature in Java for exactly these reasons, plus the lightning performance of EnumSet and EnumMap (using a bit set instead of hashing to model set inclusion was a stroke of genius imo). It was actually java enums that made me not only become a dedicated Java programmer, but it made this language my favorite over them all, even today.</div><div dir="auto"><br></div><div dir="auto">Even now, the only languages that I know of that have better enums (not abstract data types, enums, as in enumerated VALUES) are languages that are also on the JVM. In which case, I consider that further praise for Java's step forward on enums, since they are building off of it.</div><div dir="auto"><br></div><div dir="auto">Yes, it was a gigantic step above the rest of the world at the time, so it makes sense how it might not have been prioritized.</div><div dir="auto"><br></div><div dir="auto">> Similarly, the issues Maurizio raised</div><div dir="auto">> about weaknesses in the generic type</div><div dir="auto">> system were surely known at the time,</div><div dir="auto">> and were probably dismissed as "glass</div><div dir="auto">> .1% empty" (and reasonably so, at the</div><div dir="auto">> time, given the scope and ambitiousness</div><div dir="auto">> of the generics effort.)  Again, only </div><div dir="auto">> decades later does our perspective on</div><div dir="auto">> "no one really needs that" start to shift.</div><div dir="auto"><br></div><div dir="auto">This also makes a lot of sense. That's a hard tradeoff to balance, not to mention the amount of crystal ball searching you have to do to imagine what the future needs might be, not just now.</div><div dir="auto"><br></div><div dir="auto">Thank you for the help and insight!</div><div dir="auto">David Alayachew</div></div>