An interesting insight into what it's like to develop software using Java.
A lot of people say Java is a terrible language. I disagree. Java has its faults, but I think when you look at what it is in particular that ticks many people off it’s not the Java language per se, but the way it’s used.
The biggest problem I’ve encountered over the years looking at Java code is that it always seems to be the product of someone who fancies themselves as an architect.
I've seen code that backs up this argument, with abstractions on top of abstractions. Sure it's hard to follow, but after some time there are usually logical reasons why these abstractions have been applied. Where there aren't is down to code being developed by bad developers.
Let’s be frank - much of the Java code that you might see in the wild is the product of very low quality developers.
With the enhancements in Java 8, I'm really interested to see how the landscape changes and whether the situation improves.