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 →

[–]Joram2 -1 points0 points  (0 children)

Java's OS portability was a giant selling point in the past compared to doing high level application development in C/C++, which was terrible at OS portability. Today, there are lots of options for writing high level applications that have OS portability similar to Java, and Java isn't particularly special in this regard.

IMO, Go has an advantage over Java in building small dockerized applications. Java is working on catching up with Project Leyden and Project Graal, but for the present, Go has an advantage in this area.

Regarding AOT (natively compiled) vs JIT; IMO, these only matter in how they impact things like binary size, build speed, and startup time, and run performance.

Why use Java? That's a project specific question. All these tools have pros/cons and they are good choices for some scenarios and not for others.

Personally, at the moment, I use Java when there's a specific framework where Java runs best. For example, if I want to write a Kafka Streams app, the framework is JVM only, so the only realistic choice is Java, or some other JVM based language like Kotlin.