I&#x27;ve seen some moderation on this comment, up and down.<p>Curious there are no replies on any of the points, given several people seem to agree and disagree with them.<p>For what it is worth, I&#x27;ve been working with Java more or less since 1.1 days. Lately it&#x27;s been less, while working with very low level systems.<p>Surely the first point has prevented many memory intensive projects from using idiomatic Java, and opted on serialization to byte[], memory mapped files or Unsafe tricks. Forced to go objects of arrays instead of idiomatic arrays of objects. You can make it fast and consume little memory, but not without some considerable pain.<p>The second point has prevented me from choosing Java as a technology quite a few times. Sometimes you just need to provide a shared object (dynamically linked library) that can be loaded with all those languages with C-linkage.<p>Third point is of course a matter of opinion. While OpenJDK is great and all, Oracle has behaved like a cage rattling gorilla in the past. Who knows what they&#x27;ll still be up to, if they get in a tough enough situation? They sure have a lot of ammo, and I don&#x27;t want me or the organization(s) I represent to suffer any collateral damage.