DEV Community

Discussion on: 10 Skills Java Programmer can Learn to Accelerate their Career

 
stealthmusic profile image
Jan Wedel

In other words, "1 million of lemmings can't be wrong".

Phew... do you view yourself as the only smart person amongst millions of mindless spring developer lemmings that understands how bad spring actually is? From my experience, most developers I've met are very smart. And they do always strive to reduce unnecessary work and to automate and simplify stuff in the way. Spring helps a lot with that.

Funny side-note here: I was really hating Spring until Spring Boot came out and avoiding job offers just because of the fact that they were using Spring.

Aside from that, I give that point regarding resource consumption. This is going to be a bigger and bigger issue in cloud scenarios. But also here, Spring is not the issue, neither in memory consumption nor in performance. A plain Spring application does not consume much memory and starts really fast (even with thousands of dependencies and auto-configuration). The JVM however does which is a problem when you are running dozens or hundreds of microservices, each starting a JVM with 100-200MB RAM first. Then, one if not the one important factor regarding start-up time and memory consumption is Hibernate/JPA which people usually blame on Spring.

So if you use plain spring, maybye even Spring-Fu (Functional bean definition) without JPA you can already build a native-image with Graal and get a start-up time of 1ms and a couple MB RAM usage. But if you add all that convenience that makes you faster during development, it's going to be much slower and more memory consuming at the moment.

I find both Micronaut and Quarkus interesting and I follow those projects which are build from the ground-up as cloud native frameworks. But since Spring is also evolving in that direction and has a much much richer ecosystem, I don't think they will take over any time soon.

So coming back to the initial posters topic:

10 Skills Java Programmer can Learn to Accelerate their Career

I honestly don't believe, that other frameworks should be put on that list at the moment. However, they definitely belong on a "10 technologies every Java developer should check out" list or similar.

Thread Thread
 
siy profile image
Sergiy Yevtushenko • Edited

Phew... do you view yourself as the only
smart person amongst millions of mindless
spring developer lemmings that understands
how bad spring actually is?

Nope. I'm using Spring for last 10 years or so, and vast majority of Spring devs I've worked with had exactly the same opinion about it. But my argument was not about who is smart and who is not. It was about using Spring popularity as a proof of quality.

So if you use plain spring, maybye even
Spring-Fu (Functional bean definition)
without JPA you can already build a native-
image with Graal and get a start-up time of
1ms and a couple MB RAM usage. But if you add
all that convenience that makes you faster
during development, it's going to be much
slower and more memory consuming at the
moment.

You basically just repeated what I wrote above - Spring with it's "majic" is a CPU/Memory hungry bloatware.

I honestly don't believe, that other frameworks
should be put on that list at the moment.

Spring should not be in that list either.