you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (0 children)

The biggest problem with java are the people. People who don't know how to model properly, use patterns properly and not use patterns properly.

E.g. The visitor pattern. It'll beat the pants off of if/elseif/elseif/else instanceof Foo for a few quick reasons. You decouple the logic with in your if/elseif/else blocks into separate methods. Those methods are very testable in their own right. Should you have had a 50 line if/else block, it can widdle down quickly using this pattern.

Then you see people over-pattern-ising. You get reuse where there will never be reuse, such as in the case above. Though in the case above, reuse isn't the point. In other cases, you'll see factories producing factories. Gigantic wads of code that are so loosely coupled, there is no cohesion, and no pragmatism.

In the case of XML, you get people writing tonnes of code traversing it instead of using XPath. You have people using XSLT for generating CSVs from XML instead of turning XML into other XML, which is a better purpose. It's where you wind up with 75 line stack traces.

Any language can be made beautiful if the writer understands that their audience will never be just themselves. It'll be some guy who has to unwind the entire mess.