Hacker News new | ask | show | jobs
by dmitriid 1574 days 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.

2 comments

My 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.

Right its easier to switch entirely to something else. If you use Micronaut, Microprofile, Vert.x etc your life is much easier.
It'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.

> 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 :)

> 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?

Micronaut is slowly but surely going in the same direction: dozens if not hundreds separate guides with basic examples.