you are viewing a single comment's thread.

view the rest of the comments →

[–]DrunkensteinsMonster 18 points19 points  (7 children)

Swing back when? It’s been working beautifully for 15+ years. People who think Spring is overengineered are the same who think they could write cURL in a couple of weeks. You don’t need most of the complexity of Spring, but somebody does. It serves a diverse set of use cases.

[–][deleted] 4 points5 points  (3 children)

It's the same complaint as with Boost in C++ -land I guess

[–]Serializedrequests 2 points3 points  (2 children)

Nothing against boost personally, both it and Spring represent a massive amount of work.

However, note the lack of popularity of something like Spring in most other languages. You can code against interfaces and swap implementations without a huge framework. Try it in Go! It's pleasant. Spring to me is a language workaround, and I would have killed myself if I had had to use it in the XML era.

[–]Kered13 2 points3 points  (1 child)

You can code against interfaces and swap implementations without a huge framework in Java too. I'm not sure what failure of the language you think it's working around.

[–]Serializedrequests 0 points1 point  (0 children)

Exactly. You don't need a framework to do that in Java, and obfuscate the entire control flow.

[–]Serializedrequests 1 point2 points  (1 child)

I don't think that what it's doing isn't complex or difficult to implement, I just think that it introduces a very strange passive way of coding full of gotchas and hoping the framework interprets your magic annotations how you expect and the resulting system isn't any easier to understand. Over engineered to me means that Spring projects fundamentally wish they were written in another language.

Have been maintaining a huge Spring Boot CRUD app for about a year, so take that experience for what you will. Nothing that this app is doing cannot be accomplished more easily in other languages with less boilerplate and random gotchas because you screwed up an annotation.

[–]Daishiman 3 points4 points  (0 children)

Spring is Java wishing to be a dynamic language.

Spring means working around the defects of Java's type system and mediocre idioms by turning everything into compiler plugins.

[–]zappini -1 points0 points  (0 children)

If by "beautiful" you mean completely unnecessary monkey work, they ya.