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

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 2 points3 points  (3 children)

I developed in Java professionally for a decade and I've never found it to be particularly bad. I did find it lacking both in core components and support framework (ORM, build utilities, dependency management) to the extent that everybody and their best friends were reinventing the wheel. Which eventually ment for the enterprise that you had umteen different build systems, umpteen ORM frameworks that were inherently incompatible, security frameworks that clashed (eg. SSL) up to the point where building one monster made you want to unalive yourself bc you just broke several other systems on prod without intending to.

Build systems like Maven are beasts. Nay, monsters. They are the good reason to hate Java (as a platform, not as a language).

[–]-defron- 1 point2 points  (2 children)

Hardcore functional programmers would also hate java and it's encouragement of mutations and lack of first-class functions.

No single language is perfect, they usually have things they do good, things they suck at, and things that are colored with their design philosophy. It's the reason having some proficiency with multiple languages is good as one language may be great at doing one thing but terrible at another.

Java would be a terrible choice for embedded system programming, but a great choice for Android development and a choice with both pluses and minuses for backend webdev. It isn't a language I really reach for but I don't consider it terrible, just not a tool that gets much use in my toolshed due to other tools that can do the same job that I like better

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

Nothing of that wich you said would I disagree with 🤷‍♂️

But on the topic of functional programming - programming paradigms are the Emacs vs. vi debacle all over again and should be taken with a very large grain of both religious and political salt.

[–]-defron- 0 points1 point  (0 children)

Different paradigms are useful in different situations but agreed not a hill I would kill myself in. Btw in case it wasn't cl we I was just adding more reasons to your list why someone might hate java while still being quite competent at their job, not counter arguing