5 ms·
> such as the documentation for the Spring framework. Oh god, so true. It doesn't help when it's not a single project, but fifteen hundred different projects (
by dmitriid 5y ago
> such as the documentation for the Spring framework.
Oh god, so true. It doesn't help when it's not a single project, but fifteen hundred different projects (as is the case with spring) and it's impossible to find a coherent documentation beyond the most basic examples.
- PaulHoule 5y agoMy attitude is that everything other than the core framework is crap. That is, spring-your-life-wouldnt-be-meaningful-without-this-set-of-broken-abstractions-for-some-api inevitably makes your life worse than directly engaging the API with Spring or building spring-correct-abstraction-for-api yourself. It's a very toxic thing that Spring wasted it's brand to endorse a bunch of thin low quality packages.
- rr808 5y agoRight its easier to switch entirely to something else. If you use Micronaut, Microprofile, Vert.x etc your life is much easier.
- dmitriid 5y agoMicronaut is slowly but surely going in the same direction: dozens if not hundreds separate guides with basic examples.
- PaulHoule 5y agoIt's been years since I've using Spring. Everybody who pays me to work in Java has used Guava for a while. Most of what I do on my own account is in Python or C (yuck!) or AVR8 assembler. The one Java project I am working on for myself uses balls-to-the-walls metaprogramming and code generation and is designed to enable even more metaprogramming and code generation and doesn't need dependency injection. I spent a lot of time learning Spring in the day and I felt it filled a gap in Java in a way Guava really doesn't. I call it "configuration driven development". I was writing a large series of report generators in Python and all of them had the structure of "a little script that assembles a few objects in a library together to do a task". In the case of Java that "script" is naturally a Java class that needs to be compiled, goes through the build process, involves artifact management, etc. It's very nice that Spring provides a "general configuration file" that lets you patch together a few objects without having to compile anything.
- dmitriid 5y ago> It's very nice that Spring provides a "general configuration file" that lets you patch together a few objects without having to compile anything. The problem is: how exact do you configure those things? How do I find which nested incantation, and in what format, is applicable to something?
- rr808 5y ago> It's very nice that Spring provides a "general configuration file" that lets you patch together a few objects without having to compile anything. Used to with xml files, now its attribute driven, just another way to double the complexity again :)