Live data from Hacker News

Ask HN: Is Java worth learning?

news.ycombinator.com

11–20 of 45 posts

Re: Ask HN: Is Java worth learning?

#13
I've spent half of my career in java so far: the terms, structures and patterns you learn and understand will accompany you through your life. But you must deep dive for every single word you encounter.

Re: Ask HN: Is Java worth learning?

#14
post #5

Java is worth learning. It'll take you a few days or weeks to get comfortable. It may not be worth getting good at it, unless it's purely a way to get a job at a big company. Brightest futures seem to be Python (for data science and AI), Rust, Elm, Kotlin, Go, maybe F#, and probably Swift.

JavaScript probably makes the same list...

Re: Ask HN: Is Java worth learning?

#16
It's the most commonly used programming language, according to the TIOBE index, and its main markets, Android and servers, are still very much growing with no real programming language competitor threatening the dominant position of Java.

And even if people would suddenly stop writing new software in it, there's so many systems by now that are written in Java and need to be maintained that you'd still be able to use that Java knowledge for at least ten years.

The main selling point of Java is that it's easy to write software in it, so that means little developer time for relatively featureful and bugfree software. There's also a lot of tooling around Java.

It does not fare well in performance or resource usage, and is mainly geared towards writing big software projects.

Personally, I'd say it's definitely something you want to have in your repertoire at some point, unless you already have concrete plans on specializing into a direction where you know that it's not useful.

Re: Ask HN: Is Java worth learning?

#17
As a language, for learning purposes, no not really. It is very general purpose and doesn't bring any notable concepts to the table that aren't more clearly expressed in other languages. It also has some poor library design by modern standards and can be confusing because it hasn't thrown out the old stuff along the way so the surface area is huge and it's hard for a newcomer to know what not to use.

It is worth learning the JVM as a runtime which is essential to many businesses and the maven build infrastructure as the progenitor of most modern build and dependency management systems.

If you want some suggestions from a purely learning point of view, for OO try smalltalk, for FP try haskell, for systems programming try rust, for the JVM try scala.

From a commercial point of view Java might be worth it. It's easy, reasonably well compensated, and ubiquitous enough that there will be plenty of work in Java for at least the next 30 years.

Re: Ask HN: Is Java worth learning?

#18
post #8

Go will eventually take over the space Java currently occupies, so I would go that route. Java's days are numbered.

IMO Go doesn't differentiate enough to be worth it, has missed its chance and will decline slowly. I can't imagine how someone would convince a java using org to switch to Go even for new projects. The benefits aren't there.

Re: Ask HN: Is Java worth learning?

#19

It's #1 on the TIOBE index, for what that's worth. https://www.tiobe.com/tiobe-index/ I think the most certain thing I can say is that Java has a bright-present, and a not-dim near-future.

I won't put too much weight on TIOBE index (its mainly created from search engine stats). If you are looking for rankings from jobs perspective, just look at the direct job stats for languages. IEEE Specturm probably has better ranking:

https://spectrum.ieee.org/static/interactive-the-top-program...

Re: Ask HN: Is Java worth learning?

#20
post #5

Java is worth learning. It'll take you a few days or weeks to get comfortable. It may not be worth getting good at it, unless it's purely a way to get a job at a big company. Brightest futures seem to be Python (for data science and AI), Rust, Elm, Kotlin, Go, maybe F#, and probably Swift.

JavaScript probably makes the same list...

Care to elaborate? I havent done any frontend stuff in a few months but it appears to be the only solution there. Even when using typescript, you still want and need to know js.

Regarding Java, i think its a good starting point if you want to hack your first web project together. You sort of see how everything works together. Before that I always recommend looking at C just to know what you are missing out on. If there is some calculation happening you can always call some C/C++ code to see if you get some speed ups by optimizing for the cache (just an interesting experiment if youve never done it before.

Post reply on HN