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

Are the movement of "native Java / native Scala" be following the language design, and implement a native code generator for the source code / bytecode?

Or do they produce the same runtime, but just "more native" implementation?

For example, in the traditional java, there are class loader, hot code reload, reflection, garbage collection and rpc supports. If Mandrel or GraalVM does not provide those runtime features, should them still be called Java?




> class loader, hot reload

Difficult in AOT environment and IIRC graal's native-image does a dependency analysis and builds a static binary.

There is dlopen() in C, it is possible to dynamically load libraries. The problem is it doesn't play well with modern deployment scenarios compared to static linked binaries.

> Reflection, GC

These are possible to implement in an AOT language. See Golang.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: