in reply to Compilation vs Interpretation

The difference between compiled and interpreted languages is blurring, and is now mostly superficial.

Most "compiled" languages like C and Fortran generate a binary code, which is then mapped by the CPU to more low-level instructions - it's actually interpreted by the CPU.

"interpreted" lanuages like Perl are compiled to some intermediate code, and then executed on the fly. In the case of Perl the intermediate code is an in-memory optree.

Then again other languages like Java have an explicit compilation step into a binary code, which can be run or JIT-compiled by a virtual machine.

My point is that all modern programming system use both compilation and interpretation, depending on the level you're looking at it.