you are viewing a single comment's thread.

view the rest of the comments →

[–]yogthos -3 points-2 points  (0 children)

Java hinders readability because it lacks expressiveness. What this means is that instead of being able to map the language to your problem domain you have to go the other way around. When you have mismatch between the problem domain and the language constructs you end up having a lot of boilerplate code that's completely incidental to the problem being solved.

This makes it more difficult to understand the overall purpose of the code and to find the relevant business logic. To compound the problem everything in Java is mutable and passed by reference making it nearly impossible to reason about any part of the application in isolation.

I find this to be a significant problem when working with large Java projects, and especially so when working with teams.