> As soon as you are using Spring you aren't actually coding Java anymore
Can you expand on that. I'm pretty sure its still Java. There are some additional annotations that help with autowiring and object reuse, but probably affect the code less than Lombok.
> For the use cases I work on I'd prefer Go for its simplicity
Why don’t “enjoy” the simplicity of assembly then? (Not trying to be sarcastic, just I always felt that this logic is flawed. Especially that java is a very simple language, with very few concepts. If you don’t like, you absolutely don’t have to use metaprogramming like Spring)
- Modern Java requires heavy use of Decorators
- JSON handling is tiresome
- As soon as you are using Spring you aren't actually coding Java anymore
- Many mature libraries have dated APIs
- Similar functionality is often implemented multiple times in multiple different libraries. Can be confusing if you start out.
- Java requires a well configure IDE
I guess it depends on the problem you want to solve. For the use cases I work on I'd prefer Go for its simplicity.