Assuming JVM is (or will be) installed is a little risky though, isn’t it? We got rid of it in our enterprise setting some years ago, and we hardly seem unique in having removed JAVA from our available techs in our area.
I know games aren’t exactly meant for enterprise, but it’s been even longer since I had a JVM on my private computer. Maybe I’m alone in that?
This is not to shit in Kotlin, it’s certainly a nice language, but I wouldn’t expect widespread adoption to be what it was a decades ago.
One usually just bundles a jre and package the whole thing to a binary[0]. You wouldn't even know the game you're playing is running java. One could probably improve this further with modules and the newer additions to java/jvm (jlink).
Yup, with jlink you don't need to ship a full JRE, just the parts your binary actually uses. The user just runs a small binary and doesn't need to install and update a separate JRE.
The alternative (which is against the initial argument that you just ship a .jar) seems to be to include a JRE with your software. Minecraft and LibreOffice do this for example.
My recent java experience is that you end up having to tune it and keep multiple versions and screw around a bunch if you’re doing more than one thing with it. Stick to Android dev and it’ll be fine after the initial config, but switch to something else or try to run some GUI java project off Github and you’ll lose time configuring it. I “nope” out of a lot of Java stuff as soon as I see it’s Java, as a result. If anything the situation seems a little worse than it was in, say, the ‘00s.
I sympathize with your problems, I also had to juggle multiple versions for a period of time on multiple projects. Docker thankfully eliminated that and even without it the most you have to do now days is to point "$JAVA_HOME" to another folder. Java and it's ecosystem is better than ever and the language updates since java 8 are great to work with. The JVM is great. Spring boot finally removed most of the the multiple days config issues. Everything is mature, every problem has one or more library to solve it.
> Assuming JVM is (or will be) installed is a little risky though, isn’t it?
At least in Linux the package management systems enable packagers to specify dependencies such as the JVM. In Windows perhaps it's possible to bundle a JVM of choice.
I know games aren’t exactly meant for enterprise, but it’s been even longer since I had a JVM on my private computer. Maybe I’m alone in that?
This is not to shit in Kotlin, it’s certainly a nice language, but I wouldn’t expect widespread adoption to be what it was a decades ago.