There are a few reasons people don't like it.
Some of those reasons are valid, and some of them are bullshit.
1. Java is verbose - This is true. The lack of type inference is pretty painful, and while your IDE can help with a lot of the boilerplate, it can be tedious.
2. Java is slow - This is bullshit. Take a look at Java vs C++ g++ | Computer Language Benchmarks Game, you'll see it is very comparable to C++. If you are really CPU bound, just use C.
3. Design patterns suck - This is bullshit. Design patterns have nothing to do with Java (the GoF book was all in C++). Design patterns are a powerful tool that should be used with care.
4. Ant/Maven suck - Quasi-true. XML based build tools are rough, but Gradle is really very nice to work with.
5. Garbage collection sucks - Bullshit. Garbage collection is an elegant solution for many problems. It may not be the correct solution for your problem (like in a real time system), but it really makes life a lot easier in many situations.
6. Java is for babies - Now we are waist deep in the spew-age of arrogant bullshit. Java is a high powered professional tool for solving complex problems. People who think that spending their time debugging off-by-one errors and tracking down what exactly is corrupting the stack/heap this time makes them 'better' and 'smarter' are dicks.
Computer Language Benchmarks Game
|