5 ms·
I could understand Rails as it is for an already dynamic language. But Spring existence which very heavily rely on reflection always perplex me even though I am
by geodel 4y ago
I could understand Rails as it is for an already dynamic language. But Spring existence which very heavily rely on reflection always perplex me even though I am forced to use at work. It throws runtime exceptions which would otherwise been compiler error in Plain Java.
Further it turns some straight forward business logic in to some cultish bulshittery of endless packages, classes, annotations and so on. But hey, there is no xml config now, so it all is super modern stuff.
Just yesterday, I had to look into perf issue of Spring based project. It has probably 500 line of core business logic. But it is littered in tens of packages and dozens of java source files.
So it is standardization for sure but it does not seem to be leading to better results. It is however giving a great cover for bad stuff because now code follows all best practices as per Spring framework.
- asim 4y agoThere's a point of diminishing returns to all technology. Even the folks developing Rails or Spring know that. This is why new things emerge which "simplify" that experience once more, but inevitably we just end up back in that same place. If I'm to examine the experience of hundreds or thousands of developers forced to use a certain tool within an organisation, they quite actively contribute back to fixing a lot of those problems within the frameworks. It always seems simpler to opt-out of it but then you end up having to reimplement a lot of the same things and maintain your own bespoke thing. Inevitably it becomes a game of tradeoffs, yes frameworks are multi-layered and sometimes that can be a problem but the alternative also doesn't scale when you need 1000+ devs to do something the same way.
- jen20 4y agoEvery time I have to look into an "Enterprise" Java program it feels like playing a game of hide and seek with the hundred lines of business logic that exist in the midst of reams and reams of accidental complexity. It drives me nuts.
- fruit2020 4y agoThat’s just bad coding. It’s not the language itself
- jen20 4y agoSure, but the ecosystem encourages it. If it were _just_ bad coding I’d expect to see it everywhere, and have yet to run into a Go or Rust project that suffered in Tia way.
- geodel 4y agoI guess the problem is it can't called out as bad coding because those codebases are apparently following the best practices of Java framework in use.
- geodel 4y agoThat sounds about right for most of Java projects I have come across in 15 yrs of my experience.