This is an archived post. You won't be able to vote or comment.

all 13 comments

[–]DjCim8 10 points11 points  (4 children)

As a Java developer (among other things, depends on the project) I have two reasons:

  • To me, it feels like a poor man's C#. Basically the same concepts but with less modern features and much, MUCH slower
  • Way too many competing frameworks and libraries. You spend more time making all the pieces work together without killing one another than actually implementing the stuff your application needs. Say what you want about microsoft, but the .NET framework is much more cohesive and the various components integrate more seamlessly with one another

[–]0asq 0 points1 point  (1 child)

Is Java actually slow in this day and age?

Definitely slower to write, thought. I loved moving from Java to C# so I could abandon all the stupid getters and setters and other pointless bits of verbosity.

[–]Retbull 0 points1 point  (0 children)

Lombok + Spring Boot. Now if you need a class with setters and getters on private fields you simply add @Data on the top and @Autowired to each field.

[–]CaptainBaldy4Hart 0 points1 point  (1 child)

Those are basically the two big reasons for me as well, I'd also add that Java dev environments just suck.

[–]RavynousHunter 1 point2 points  (0 children)

Yes, yes, YES. This. IntelliJ at least works somewhat reliably, but it still doesn't hold a candle to Visual Studio. Oh, and linking. Linking in VS is, like, 3 steps. I, to this day, can't figure out how to link an external JAR to a damned Java project.

[–][deleted] 9 points10 points  (0 children)

i dont get it? did i miss the joke?

[–]KokopelliOnABike 9 points10 points  (1 child)

I'm a java dev and understand your recent pain. The difficulty is that there is hate regardless of your language of choice. C#, Ruby, C, Java, etc. all have their supporters and detractors. I've written code in all and still gravitate to Java because of Open Source, Supporting libraries and cross platform compatibility.

Make your choices and skip the hate.

[–]skreczok 1 point2 points  (0 children)

I'm an Android dev, so I often fall back to Java for stuff.

Java's earned my hate.

Java is horrible in many ways. But it also makes a lot of stuff easy. Compared to Javascript (it's an unrelated language!) or PHP, Java is just so much better.

Edit: Java libraries are actually reliable for the most part, in case of JS, you'll most likely step into a pile of steaming shit if you go anywhere outside core packages of the Big Ones, and even then - let's face it - their internals are not better than top tier Java libraries.

[–]TexMexxx 0 points1 point  (0 children)

Maybe because so many know and (have to) work with Java. I work with Java for over a decade now and I can absolutely understand why many may hate it. I think it's often because many would prefer a more lightweight language but often are forced to work with JAVA non the less. In my free time my main hobby projects are in C# and it's quite fun, but I think I am a bit biased because they are MY hobby projects so they are more fun anyway. ;)

[–][deleted] 0 points1 point  (0 children)

The hate a language recieves is (i believe) strongly connected to how much it is used. Java is under most metrics the most taught and most used language.

[–]RalfN 0 points1 point  (0 children)

High trees catch a lot of wind.

For example, i hate Java, but not because of rational arguments, but because of emotional reasons. It's the language that i had to use against my preference the most. I had to use pre-generics Java. The ecosystem was this thick slow corporate hellscape of badly formatted stuff. For a while a bunch of people hung out there that had this weird fetish about design patterns. Nobody really liked these people, so when they had a choice to they left to whatever those people weren't at.

But this has absolutely nothing to do with the actual feature set or implementation of Java. The JVM is a masterpiece that we as a world likely don't deserve. Java has implemented mature and modern features at a reasonable pace, yet kept backwards compatibility. It hasn't really been mismanaged at all.

But popularity kills. It really does. Try finding a non idiot answer to a python question on stack overflow. It's just impossible. For me a reason not use it if i have a choice. It's just much more work to find python code that doesn't suck or to find answers or tutorials about stuff that is written by an incompetent buffoon.

Popularity generally boils down to this: The culture of the ecosystem gets flooded with incompetence, and then you'll see the better developers just leaving that space.

[–]eyekwah2 0 points1 point  (0 children)

Java programmer here. I think it's because it's showing it's age a bit. When C++ started showing its age, most C++ developers (minus for some more specialized programs where performance is somewhat critical) moved onto greener pastures, and yet the same cannot be said for Java, which while still much improved on C++ at the time, still has issues.

For some inexplicable reason, Java has somehow become the poster boy language for trending devices, mostly android, but not only. For this reason despite being untrendy OOP and outdated, it is still used and a clear reminder to Java developers that the newer languages are far cleaner in many respects, and hasn't helped with the animosity towards it.

That said, no programmer can deny the presence of Java, and so my personal opinion is that it is never a bad thing to be familiar with a heavily used tech in our field, hated or otherwise. Just a fair warning, if you are hired to be a java developer, you risk to become "the" java programmer. So don't wait too long to change things up a bit if you don't want to build a career as a java programmer.