why java does not compile to native code?
java is multi platform i.e the same source code will run on all supported operating systems ,this is definitely an advantage. java run on the web ( multi platform) this is also an advantage.
however , on the desktop java compile to byte code rather than a native excitable. i.e the same byte code binary file runs on all supported platforms. this is a trivial advantage. furthermore it is a DISADVANTAGE from performance point of view.
for example : skype is multi platform program (i guess it is written in delphi) navigating the skype website and downloading the native binary that runs on my operating system is very easy task.for the developer compiling his product multiple times foe various OSs is not a major problem.
so why java accept the performance hindrance for the sake of trivial benefit ?