Where JavaTM is lacking people may not have not well pointed out
Very limited language extensibility
- no templates, opr overloading, limited reflection
Limited parallel programming model
- no concurrent objects, DSM, object migration, data parallel/aggregates/BSP, etc. etc.
Java “Portability Myth”
- not just “write-once, debug everywhere”
- portability of Java only insofaras the features supported by the JVM (c.f., OpenJIT)
- can’t inversely interoperate with existing languages
- Lack of performance portability