On Thursday, 19 September 2013 at 11:38:35 UTC, deadalnix wrote:
On Thursday, 19 September 2013 at 11:23:10 UTC, PauloPinto
wrote:
On Thursday, 19 September 2013 at 09:52:40 UTC, deadalnix
wrote:
On Wednesday, 18 September 2013 at 21:33:50 UTC, Chris wrote:
Seeing that more and more developers and companies look for
or actively develop native languages, I wonder will Java go
native one day? (Cf.
http://docs.oracle.com/cd/A97336_01/buslog.102/a83727/jtools5.htm)
Java as some design decision that will make it perform worse
natively than in a VM.
Dynamic code loading + virtual by default is one example.
Is this Java's only chance to keep up with Go and Rust (and
D)?
It certainly isn't unless the language is modified and a
large amount of code is thrown away.
Well, nothing that cannot be cured with PGO, just like in
C++'s case.
PGO do not allow finalization of method that can dynamically
overriden. Only a JIT can do that.
The main difference between JIT and OAT optimizaer is that JIT
can be optimistic, and fix later if it turns out to be wrong.
AOT must consider the worst case scenario. The benefit of AOT
being, obviously, to pay the cost ahead of time instead of at
runtime.
In java, all classes are dynamically loadable, and most
functions are virtual. This is a deal breaker for the AOT.
Wrong. The Java AOT compilers that target embedded systems
produce static binaries.
--
Paulo