Hacker News new | ask | show | jobs
by wisnoskij 1324 days ago
The problem with java is it needs a correctly installed, configured, and versions JVM installed to run the code. All the other languages will just spit out a exe that will just run if you click it. Java is the least cross platform language in existence.
4 comments

> Java is the least cross platform language in existence.

That's extremely hyperbolic. Try writing a cross OS program in C or C++ and tell me how it goes. #ifdefs everywhere.

Running a Java program through maven or gradle is very straight forward. Versioning works really well. Not to mention the excellent cross platform handling implementations built into the JVM.

I agree, Java is just really good at being cross-platform. Python and sometimes even JS will have some non-portable dependency through FFI, while Java can truly be developed and deployed on anything, really (due to the platform being very pure, FFI is almost nonexistent unless absolutely necessary)
How is that different to Python, Ruby, Node, etc? There is at least jlink which creates standalone app directories, and native-image, which makes AOT compiled native (standalone) binaries.
There is not even a JRE anymore - the standard way to package java apps is to bundle them with a specifically optimized JRE for your app, for exactly this reason.

Also, it’s not like people just click on exes anymore, desktop apps are a tiny niche.

Eh, a new hot language typically needs llvm to be available on a platform before it can spit out a binary for it. So it’s really just a matter of reach.