>>1
People dislike Java for a few reasons.
1. Its easy to code. It is more important to have knowledge of the specific APIs than to actually know how to program and have the mindset of a programmer. Of course, people who don't have that mindset will probably write horrible Java code, but it'll still work, and they'll still get paid.
2. It encourages retarded ENTERPRISE concepts, such as "business logic layers" and 14 extend/implement keywords on a single line.