(I've got no real point here other than to say I had a strong feeling of deja vu while reading about Crystal.)
[1] https://en.wikipedia.org/wiki/Mirah_(programming_language)
(I've got no real point here other than to say I had a strong feeling of deja vu while reading about Crystal.)
[1] https://en.wikipedia.org/wiki/Mirah_(programming_language)
There are plenty of people who dislike the JVM for any number of reasons (performance often being cited as one) and prefer to target specific platforms individually. Like many other things, it's a tradeoff, and people may arrive at different decisions depending on their priorities.
Java is not only OpenJDK.
It’s not much worse than a standard dynamically linked binary at that point. You just need a JVM on the system. Combined with the AOT compiler (as it stabilizes) makes Java applications more competitive with standard binaries.
All that aside, performance is great and has a massive ecosystem of mature libraries.
I’m not saying it’s always appropriate, but it’s not a bad platform.
The requirement for a JVM to be installed on a system isn't that dramatic in my opinion, it may change for others' use cases though (e.g. if you are shipping code to embedded systems etc., it's not a good option probably). Also, if you are OK with heavy app sizes, you can ship with OpenJDK although I acknowledge that it is as bad taste as shipping with electron.
[1]: JIT compilers can help with performance even for pretty static languages (e.g. Java is not so much dynamic than C++) because you have runtime statistics for that specific run and you can speculate using that. Although, with smarter branch predictors etc. in CPUs, some of the benefits of the JITs are slowly disappearing.