Hacker News new | ask | show | jobs
by abhinai 2729 days ago
I am not sure if Java is any more practical than say Node.js or Python.
2 comments

I think it's more that existing projects are in Java, so I have experience in Java, Java works, so why learn something else? Just start the next project in Java and it'll just work.
That would imply that the world moved from Java to Node.js / Go / Python just because they are cool new technologies.
Can't tell if sarcasm ...

And, yes, that's often the reason parts of the world move to other things. Hopefully, someone saw an actual problem with the stack they were using, saw a solution elsewhere and moved. However, anecdotally, I often see people deciding emotionally that the Hip Cool New Thing is The Right Way To Go and that's what they use ... and then discover the warts are bigger, or the problems aren't actually solved, or the only thing different is the vocabulary.

But did the world really move from Java to Node/Python?
2 years ago i'd say no but increasingly every new concept/tech stack i encounter has npm embedded in it to access a js library. same with python being used for automation/low level scripting.

unless you set out with the mindset of NO NODE/NO PYTHON, it tends to worm it's way into the project coz someone on the team thought it was convenient

Npm is prevalent in client side for sure, many non trivial ui apps use react/redux or similar and use npm for package mgmt. On the server side, it's a different story. Java still is the go-to language in a lot of organizations. Python for automation, machine learning, and provisioning, yes, I agree. These areas were never Java to begin with.

This may change,though, what with Oracle's license changes.

From what I've seen, Java offers more tooling and handy utilities. Examples: Remote debuggers, thread dump utilities (and analyzers), byte-code injecting tools, etc.

I haven't done a lot of 'production' Python or Node, but I have heard people gripe about the need for some of these.

With python and node typically comes a different approach to developing which should mean those tools are less useful.