Also, Java was originally targeted at very low end machines - think WebTV. IMO, the top things wrong with Java are:
Too many concepts that overlap - containers, arrays, generics, iterators, classes, interfaces, etc. An important factor in whether you want to use a language is "how many concepts am I going to have to understand to read other peoples code ?"
A lot of the library is very poorly designed, probably because they rushed it out the door. Take a look at the GUI inheritance hierarchy for instance. Also, a lot of the code looks like C code IIRC.
Comments
Also, Java was originally targeted at very low end machines - think WebTV. IMO, the top things wrong with Java are:
Too many concepts that overlap - containers, arrays, generics, iterators, classes, interfaces, etc. An important factor in whether you want to use a language is "how many concepts am I going to have to understand to read other peoples code ?"
A lot of the library is very poorly designed, probably because they rushed it out the door. Take a look at the GUI inheritance hierarchy for instance. Also, a lot of the code looks like C code IIRC.