3 ms·
Native, quite reasonably, means the application is compiled to the CPU's native machine code. Take as an example the distinction between Java and native apps on
by _0ffh 4y ago
Native, quite reasonably, means the application is compiled to the CPU's native machine code. Take as an example the distinction between Java and native apps on Android.
- wmf 4y agoMany people, quite reasonably, consider an app native if it uses the OS APIs without any intermediate portability layer.
- _0ffh 4y agoWhat is a VM but an intermediate portability layer? That's what VMs are made for, to be able to run the same VM code on different machines or different OSs without having to recompile. You don't use the OS's APIs directly from Java or NET, that's the whole point of the exercise. And if you find a way to do it anyway, you have defeated the purpose of the VM and could as well have compiled to native code.
- wmf 4y agoWeren't .NET and its APIs originally Windows-only and they only became portable later? And doesn't .NET have AOT support?
- metadat 4y agoFor Java, is the JVM apps run atop of compiled for the native CPU architecture? Does this matter?
- schoubey 4y agoJVM is a virtual machine with its own instruction set. Java code is compiled to this instruction set and not the actual's CPUs instruction set, hence not native.
- schoubey 4y agoThis is my understanding of native, thanks for putting out a better description.