A lot less will be wrong with Java, once &quot;struct&quot; value types are implemented. I guess that&#x27;ll be in Java 10? This should improve performance significantly thanks to locality of reference and reduce heap footprint in the same time.<p>Java tends to be &quot;Star Trek Borg like&quot; [1] in sense it&#x27;s often impossible or at least cumbersome to use libraries written in it in non-JVM languages. When can we write a .so&#x2F;.dylib&#x2F;.dll in Java? There are of course some (cumbersome) ways around this, but it tends to involve RPC of some sort and multiple processes.<p>Not exactly technical reason, but a matter of opinion: The shadow of Oracle Corp. Makes me feel uneasy using Java.<p>[1]: Borg is an alien race in Star Trek that considered other species inferior, assimilated their technology and turned them into more Borgs.