Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The current way to compile Java AOT is GraalVM's native-image... that actually works pretty well... do you find that awful??


It looks promising, but so did gcj at its time.

Still it's not practically usable and that's what counts for me. From what I understand it is plagued with the same issues as the C# AOT when it comes to reflection and therefore serialization. There is a whole list of other issues as well[1].

I think some of this issues can never be solved by the compiler alone but need to be addressed in the ecosystem. It would be important, for example, that the most common and important libraries dispense with reflection to play well with AOT.

Finally GraalVM is just a single project with its own specific agenda. If Oracle changes its mind about these goals tomorrow Java AOT will be dead once again.

These are the reasons I'm still not optimistic about Java AOT, even if GraslVM is really cool project.

[1] https://www.graalvm.org/22.0/reference-manual/native-image/L...


They are addressing reflection rather aggressively actually, using source generators mostly.

Even if I have no direct need for AOT I’m eager for the added type safety and sanity gained by getting rid of reflection, not least for serialisers!


There is PTC, Aicas, OpenJ9 and there used to exist Excelsior JET.

Also Android Java uses a mix of JIT and AOT, depending on the workloads.

Hardly dead.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: