3 ms·
The former means that programs are converted into code for a virtual machine, which is then executed. Often this involves compiling them back to native code, as
by unwind 13y ago
The former means that programs are converted into code for a virtual machine, which is then executed. Often this involves compiling them back to native code, as in various JIT solutions.
The latter means that the code compiles straight to native machine code, but also that executing the code relies on services provided by a "heavy" (as compared to C's runtime library) runtime library. For Go, the runtime does garbage collection, i.e. it's takes a fairly "active" part of the execution.