Hacker News new | past | comments | ask | show | jobs | submit login

> Many interpreted languages use an intermediate representation and/or JIT compilation internally, like for example Python with its .pyc files.

Yes, but Python, Ruby, Lua, etc. are also all dynamically typed, which places them in level 4.

> And Java as a level-2 language only compiles to bytecode (class files) which by default is then interpreted, and typically only JIT-compiled for “hot” code.

Yes, but Java is generally only run in the JVM and is not often compiled ahead-of-time to a static executable. There are AOT compilers for Java, but the performance isn't great. Java was designed to run in a VM. Classloaders, static initializers, reflection, every-method-is-virtual all make it quite difficult to compile Java to a static executable and get decent performance.

Dart was designed to be a decent AOT target.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

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

Search: