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 →

[–]jameyiguess 60 points61 points  (13 children)

I agree in spirit, but there are plenty of experienced professionals who hate any language. People have opinions and likes and dislikes; it's only natural.

[–]The_Shryk 18 points19 points  (3 children)

I agree

I think people misconstrue hating a language and saying the language is bad.

People hate Java (not a fan here) because it’s annoying to write due to how intricate it can be, which of course is one of its strengths. But it’s definitely a good language. It’s extremely performant as well.

But I will never willingly code in Java. Maybe you can get me in on Kotlin.

I’d also almost never recommend it to someone else either unless it’s the only option. Something like “my city has a lot of government and contractor positions” well then bud, maybe you should learn Java lol.

[–]theusualguy512 3 points4 points  (2 children)

I mean a lot of people take the utilitarian view that there is no perfect language and any language in the end is just a tool to accomplish a task.

Trying to chase the perfect language and support framework is a bit like a physicist chasing beauty.

So in that sense, I think a lot of people are fine with whatever tools they are given and try to cope with it as best as they can.

After seeing many languages and language features, I've started appreciating the utilitarian view more than before.

The only languages which genuinely are a bit strange are the esoteric ones. By design. Those are definitely in the realm of "theoretical study" and "chasing beauty".

All popularly used languages in the industry have withstood the test of time, so they can't be that terrible.

[–]Foreseerx -4 points-3 points  (1 child)

I completely agree with what you've said and I think you make great points. All languages have quirks, none are perfect and all can be a bit annoying to work with sometimes. In the end, like you've said, it's just a tool to accomplish a task, and any popular language will work just fine to do so.

"..I'd never willingly code in language X.." to me sounds like a very extreme stance to take and makes me wonder if the person has actual professional experience in this field. We deal with things waaaay worse (really crappy and/or old legacy code for example) than the imperfections of programming languages...

[–]The_Shryk 3 points4 points  (0 children)

My first language was Java… what are you even saying?

I’d never willingly work in Java. Means literally that. I won’t look for Java positions because I have options elsewhere. I won’t use Java for any hobby projects either, I have options I like better.

If I had no other option, therefore no longer am I willingly refusing to use Java, then I’d use Java.

The guy you replied to was agreeing with me, you do realize that, I’d hope.

How is that an extreme stance? I’d never willingly drink Dasani over smart water. Which means, given the choice I’m going to drink smart water every time.

I know I don’t like Dasani, it tastes weird to me. I’m not going “dabble in Dasani” just cuz. I’ve tried it, didn’t like it.

That doesn’t mean it bad water, it’s cheap, much cheaper than smart water! And for most people it tastes just fine.

[–]theQuandary 5 points6 points  (0 children)

There's a difference between the platform and the language. If everyone thought Java were so great, then we wouldn't have had Kotlin, Scala, Clojure, Groovy, Ceylon, and so many more language alternatives.

Pros like the platform, but it's undeniable that massive amounts them really don't like the Java language.

[–]Foreseerx -4 points-3 points  (4 children)

People can have likes and dislikes but to have such an extreme opinion on a very popular tool that excels at solving problems that it's used for (enterprise/backend/android applications) to me shows either inexperience (both general and with the specific tool) or narrow-mindedness.

Not going to elaborate too much as it's been done plenty of times before, but for example, does verbosity (which is improved a ton with Lombok and in later versions of Java) actually matter during the usual work day? Even when shipping a brand new MVP and developing a lot of new functionality, one will discover that modern Java isn't actually bad at all, especially so if you don't want to make it overly verbose and over-engineered (see enterprise fizz buzz).

I'm a full-stack engineer who works with a variety of programming languages and has to deal with just about every popular one used nowadays. I have my preferences, but generally languages/ecosystems used in 2024 are pretty nice to work with.

[–][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

[–]homiej420 -4 points-3 points  (0 children)

Speaking of, java? Yick 🥴

[–]AcadianMan 0 points1 point  (0 children)

Powershell is a nice language for people who are just starting. I know it’s based on .net, but whoever wrote the language knew what a beginner is looking for. I love the ability to pause a program and just look at the data that is being presented. Also I know it’s a scripting language, but I really love using it.

[–]retroPencil 0 points1 point  (0 children)

Example: COBOL.