|
|
|
|
|
by munificent
1229 days ago
|
|
The fact that Excelsior is dead probably says something. There are AoT compilers for Java, but I'm not aware of any successful widely-used ones. Java and the Java ecosystem rely pretty heavily on class loaders and reflection which make AoT compilation very difficult. Java in its bones is designed to be a JIT VM language and you'll always be going against the grain if you try to statically compile it. Dart was also initially designed to be a JIT VM language (by the same folks who made the HotSpot JVM) but without many of the pitfalls in Java that make AoT hard, and over time we have deliberately evolved the language (in breaking ways!) to make it much more amenable to static compilation. Languages are not all interchangeable and some languages are better suited for certain implementation strategies than others. |
|
> Languages are not all interchangeable and some languages are better suited for certain implementation strategies than others
Sure, but I don’t claim to replace SQL or Prolog with Java, but a regular old managed language which has zero unique features that would give it a reason to exist.