Live data from Hacker News

Love It or Hate It, Java Continues to Evolve

azul.com

121–130 of 156 posts

Re: Love It or Hate It, Java Continues to Evolve

#121

Earlier quoted context omitted.

I write quite a lot of Java, and I have to admit I never “got” Spring. I’d much rather have explicit boilerplate code (preferably in library form as much as possible) than complex, invisible magic. The latter is “easy”, but the former is “simple”. In most cases, “simple” is more important.

I disagree. The "boilerplate" is the boring stuff I don't want to waste my time with.

In my opinion software development is less about what specific developers want to spend their time on, and more about producing solid software.

Does not spending time on boilerplate improve the quality of software you produce? I find that it doesn't.

Re: Love It or Hate It, Java Continues to Evolve

#122
post #17

In my experience most people don't like Java due to experiences they had before Java 8. This means they were used to the bloat, config as XML style world which made Java a pain to write and slow to run. Once I show them Java 11 with var keyword, lambda's and streams they start appreciating how modern the language has become. Then you throw in frameworks like javalin or sparkjava and suddenly they are not as hostile a…

Java 11 is obviously much better than Java 8, which is still leaps and bounds ahed of Java 6, itself an improvement over Java 4. You'd see the same in every language. Java's problem is that for many years it used to be the slowest car around. Maybe this was one of the things that helped Java become the undisputed ruler Enterprise Inc. but now it's got a lot to catch up with, and even though the pace has picked up sin…

With kotlin, the final .toList() call can be removed

Re: Love It or Hate It, Java Continues to Evolve

#123

My biggest issue with Java isn’t even the language, it’s the culture. I feel like typical Java solutions are just layers upon layers upon layers upon layers of abstractions, frameworks inside of frameworks, and stack traces taller than skyscrapers. It’s just too much! It seems like the Java community has lost the art of coding without a framework. It feels incredibly bloated and entirely too magical. But this has mor…

I never really understood this argument, maybe I have something else in mind when talking about abstractions.

For example, even though passing a function to an SQS listener is many abstractions away from handling internet traffic from SQS, I'd much rather the parsing of bytes be hidden in a place where I never have to see it and I can focus on business logic that actually provides value.

Re: Love It or Hate It, Java Continues to Evolve

#124
post #97

My biggest issue with Java isn’t even the language, it’s the culture. I feel like typical Java solutions are just layers upon layers upon layers upon layers of abstractions, frameworks inside of frameworks, and stack traces taller than skyscrapers. It’s just too much! It seems like the Java community has lost the art of coding without a framework. It feels incredibly bloated and entirely too magical. But this has mor…

To me you're talking about the java of a few years ago. It's really not the case now. The enterprise-y types are no longer dominant in the space.

But the Java of a few years ago will still need to be maintained for many years to come.

Re: Love It or Hate It, Java Continues to Evolve

#125

I'd like to see a JVM with a garbage collector that isn't designed to always consume the maximum amount of memory before it starts collecting. If you configure the JVM to have at most 400MB and it's current heap size is 120MB and you allocate 0.5MB every second or simply allocate 400MB of temporary objects that could be collected right away, it will allocate more GC heap until it hits the maximum 400MB and only then…

I'm not sure what your real world experience with Java is, but GC is actually quite good and in server side Java I had no issues for years. G1 evolves and I had no issues with it. In Java 12 there is ZGC that have similar goals as Shenandoah, too. It is not like Shenandoah is something that is intended to be mainstream in Java. While G1 is optimized for throughput, Shenandoah is sacrificing performance for very short stop-the-world phase. It really depends on your requirement which one is better. There were multiple GCs before and alternative vendors have their own, for sure. What is your current pick and why is it so much better?

JVM is really good tech, it allows ecosystems like Scala, Kotlin, Clojure etc to exist. Since Java 8 there is class data sharing that may reduce your startup time and memory requirements a lot, especialy if you run multiple instances with same classes on same server.

Java ahead of time compilation was experimental since Java 9 and GraalVM should also help a lot if startup time is critical.

Re: Love It or Hate It, Java Continues to Evolve

#126
post #45
post #17

In my experience most people don't like Java due to experiences they had before Java 8. This means they were used to the bloat, config as XML style world which made Java a pain to write and slow to run. Once I show them Java 11 with var keyword, lambda's and streams they start appreciating how modern the language has become. Then you throw in frameworks like javalin or sparkjava and suddenly they are not as hostile a…

I was checking out Spring recently. The hello-world sample turned me off at once [1]. It's so much more clunky than something equivalent in Python/Go/what have you. [1]: https://spring.io/guides/gs/rest-service/

While I agree with you that Spring is clunky, if you're making a simple application I don't think anyone will recommend Spring.

Where Spring shines is enterprise. When you have 600k concurrent users it's just something I can trust. Other solutions can work too, but we value the stability.

Re: Love It or Hate It, Java Continues to Evolve

#127
post #17

In my experience most people don't like Java due to experiences they had before Java 8. This means they were used to the bloat, config as XML style world which made Java a pain to write and slow to run. Once I show them Java 11 with var keyword, lambda's and streams they start appreciating how modern the language has become. Then you throw in frameworks like javalin or sparkjava and suddenly they are not as hostile a…

Javalin is a bit of a cop out because it's not strictly Java.

I agree with modern Java improvements for the most part, especially if you are including Kotlin in that ecosystem - I really enjoy writing Kotlin.

However, I've professionally switched to Go and really wouldn't want to go back to Java much. I already think Go is a bit bloated, and I still feel like Java (even w/ the latest modern features) still gets incredibly bloated.

Re: Love It or Hate It, Java Continues to Evolve

#128

Earlier quoted context omitted.

> old EJB 2.x era "J2EE" could have had worse you started just around the xdoclet, that was peak madness

I actually was around for the XDoclet era, although I managed to mostly avoid going down that particular rabbit-hole personally. I think I even have the Manning XDoclet in Action book still on a shelf somewhere around here. Never quite got around to reading it...

java: provider of fine screen stand since 1995

Re: Love It or Hate It, Java Continues to Evolve

#129
post #51

Most people don't even know why they hate Java. And the rest hates it because their Chief Architect taught J2EE is a great idea.

Personally I developed a dislike for it because of Eclipse, Android Studio, Swing and JavaDoc.

Those are at the top of my list as well... in addition to Hibernate. Maven appears near the top of my list too, I mean can we please chill out with the copious XML already? Not to mention naming a real construct a "bean" rather than something that actually describes what it is, annotations and other magical shit (AOP anyone?) scattered throughout many Java codebases.

Re: Love It or Hate It, Java Continues to Evolve

#130
post #17

In my experience most people don't like Java due to experiences they had before Java 8. This means they were used to the bloat, config as XML style world which made Java a pain to write and slow to run. Once I show them Java 11 with var keyword, lambda's and streams they start appreciating how modern the language has become. Then you throw in frameworks like javalin or sparkjava and suddenly they are not as hostile a…

Java 11 is obviously much better than Java 8, which is still leaps and bounds ahed of Java 6, itself an improvement over Java 4. You'd see the same in every language. Java's problem is that for many years it used to be the slowest car around. Maybe this was one of the things that helped Java become the undisputed ruler Enterprise Inc. but now it's got a lot to catch up with, and even though the pace has picked up sin…

You have Clazz::someMethod in java so no need to write out the whole lambda expression
Post reply on HN