I think Java ecosystem is more about ‘best practices’ (in the most enterprisey meaning) than common sense and good coding. That is why everything in Java gets so over-enigeered. Abstraction over abstraction. XML, SOAP, beans, factories of factories at every corner.
At least that is my feeling, as an sysadmin (fluent in some other programming languages) who occasionally deploys those monstrosities.
Compare that to PHP apps. They also tend to be a mess, but in a completely different way. No ‘best practices’ are common here. Just a pile of spaghetti code, that does the thing it is meant to (until it doesn’t).
I have to agree with you on the over engineering and layers of abstraction which stop making sense over time. At the same time I’ve seen people abusing the application context and try to reinvent the wheel in a worse way rather than using easy to read annotations. People care less about doing it the right way. Many who care about doing it the right way but don’t understand things well, go so far off the deep end that we end up with unnecessary abstractions.
I think Java ecosystem is more about ‘best practices’ (in the most enterprisey meaning) than common sense and good coding. That is why everything in Java gets so over-enigeered. Abstraction over abstraction. XML, SOAP, beans, factories of factories at every corner.
At least that is my feeling, as an sysadmin (fluent in some other programming languages) who occasionally deploys those monstrosities.
Compare that to PHP apps. They also tend to be a mess, but in a completely different way. No ‘best practices’ are common here. Just a pile of spaghetti code, that does the thing it is meant to (until it doesn’t).
I have to agree with you on the over engineering and layers of abstraction which stop making sense over time. At the same time I’ve seen people abusing the application context and try to reinvent the wheel in a worse way rather than using easy to read annotations. People care less about doing it the right way. Many who care about doing it the right way but don’t understand things well, go so far off the deep end that we end up with unnecessary abstractions.