Live data from Hacker News

Java Is Underhyped

jackson.sh

691–700 of 808 posts

Re: Java Is Underhyped

#691
post #168
post #121

Earlier quoted context omitted.

Python is generally less performant. Go has a smaller ecosystem. IMHO, YMMV etc.

You're right, but: * performance is not really an issue for most software ("97% of the time, premature optimization is evil"). A well designed software doesn't suffer from performance issues with current computer performance, unless you do AI or bleeding edge graphics or science simulation. * there are ways to speed up performance sensitive parts with something else than java, for example by using C/C++, would it be…

I don't think I've ever worked on an application where performance wasn't a problem. The ability of programmers to write slow software grows faster than computing power does.

> well designed software

Ah, there's my problem. Maybe at some point I'll get a chance to work on one of those.

Re: Java Is Underhyped

#692

For my use cases, Java has all the wrong compromises: - not high level enough to compete with Python/Ruby/JS/PHP, etc - not low level enough to compete with Rust/D/Nim/Zig - not specialized enough to compete with Erlang/R/Go/Julia - not opinionated enough to compete with Lisp/Haskell So why use Java ? It's good, it's fast, it's productive, it's well supported, battle tested and documented for decades with a huge pool…

Kotlin solves most of the problems for us while leveraging the benefits of the JVM.

Yes, I think today the languages worth focusing on are Kotlin, Swift and C#. They are similar in many ways and come with built-in nullability. They are also platform languages offering excellent tooling and a productive development environment.

Re: Java Is Underhyped

#693
post #186

Earlier quoted context omitted.

Long term, Kotlin will only stay relevant on Android. They cannot fully embrace the JVM while targeting ART, JS and native at the same time.

With respect, you're wrong. I say this because we're now seeing widespread adoption of serverside Kotlin at places like Google and Amazon. With the support of Google and Jetbrains they can target whatever they want.

Definitely. There has been a consistent increase in non-Android Kotlin jobs in the last 12 months according to Indeed.com.

Re: Java Is Underhyped

#695

For my use cases, Java has all the wrong compromises: - not high level enough to compete with Python/Ruby/JS/PHP, etc - not low level enough to compete with Rust/D/Nim/Zig - not specialized enough to compete with Erlang/R/Go/Julia - not opinionated enough to compete with Lisp/Haskell So why use Java ? It's good, it's fast, it's productive, it's well supported, battle tested and documented for decades with a huge pool…

If I can choose, I won't use Java either. Some jobs in the past requires me to use it, since it's popular. However, nowadays I can just use Python since most of my job is about data engineer.

Re: Java Is Underhyped

#696

Earlier quoted context omitted.

What is wrong with Optionals?

Optionals can be null, so dereferencing them can still cause an NPE. Also the syntax is horrible. I know the excuse that they are just meant to be used to wrap the return value of a function that might be null, rather than as a guard against NPEs, but that just means we’ve got a crappy, verbose Optional class ... and NPEs. It was the most half assed attempt to fix the billion dollar mistake [0] anyone could have come…

Likely to be addressed with the ongoing effort for value types. Optional + prudent use of @NotNull annotations can get you most of the way there already in practical terms.

Re: Java Is Underhyped

#697

Earlier quoted context omitted.

I feel sometimes that they pride in writing shitty, unmaintainable code; that they do it on purpose. One of the ways they enjoy life is to disregard all "best practices". And I'm not talking about some high-level OOP principles, but the basics - like keeping consistent code style, or even writing some tests. The previous crowd with love for monkeypatching everything and hate for abstraction other than dictionaries wa…

lol I was just sitting here thinking I miss my Python job and not having trouble with IntelliJ detecting changes in dependencies and how frustrating it is to invalidate caches and reindex the whole project multiple times before I can run tests for the dependency change. I regularly miss the testing libraries we used, too -- it was so absurdly clean and easy to build robust mocks in our DJango stack (and I set up that…

This sounds more like a people problem than a language problem to me.

Re: Java Is Underhyped

#698

Earlier quoted context omitted.

I came to say say that's not a language problem, that's a packaging problem. But that would be misleading. The reason packaging is still a problem in Python are linked to the language: - to get perfs, you need compiled extensions, which java doesn't need. So a Jar can be fast and portable, while in Python it's an "or" proposition. Wheels help, but they still are OS dependent, so you need a build per OS. - PYZ arrived…

It certainly doesn't help that the software I'm interested in is written for science, so there is a tendency to make it work just well enough on the author's machine to allow a paper to be published, and then abandon it.

There is a clear training problem in science. But I believe part of it is that the knowledge on how to write good software is stuck in companies. You can't learn it in school either. I keep hearong about companies that have to make their new hires unlearn what they learned in class... So where would scientists learn good practices? (in my experience books arent the answer either)

Re: Java Is Underhyped

#699

Earlier quoted context omitted.

You just asked "Why would any reasonable person care what they spent half of their waking hours of their life doing?" The fact that you don't care does not make everyone other than you not a reasonable person. Frankly I don't see how any reasonable person could fail to develop some preferences, but I bet you would not like it if I called you unreasonable, or perhaps just unsophisticated.

Because preferences are based on emotions are not rational. I’m talking about picking a tool that does the job according to the requirements (speed, memory, debuggability), not based on what some YouTuber said. We are engineers and paid for results. It help with carrier to embrace it.

I care about security and Java code is unreadable, extremely verbose, extremely bloated. I don't see a single situation where Java is a more appropriate language than something else.

Re: Java Is Underhyped

#700
post #699

Earlier quoted context omitted.

Because preferences are based on emotions are not rational. I’m talking about picking a tool that does the job according to the requirements (speed, memory, debuggability), not based on what some YouTuber said. We are engineers and paid for results. It help with carrier to embrace it.

I care about security and Java code is unreadable, extremely verbose, extremely bloated. I don't see a single situation where Java is a more appropriate language than something else.

So, you are stating that Java language is not applicable to any situation.

Here is one: there is a database written in Java and you need to implement more features. There is 10000000 lines of code in the companies source and new code should be the same. I can go on and on.

Personal advice - if you want growth, drop preferences. When FAANG interviews nobody even asking what is your preferred language as nobody cares.

Post reply on HN