"Martin P. Hellwig" <martin.hell...@dcuktec.org> writes: > Machine Code: > Whatever the machine executes, it could be that the CPU uses an > abstraction of microcode to do this but from the perspective of the > user, this is all done in the same 'black box'
This requires, of course, defining what is the machine. Python bytecode targets a virtual machine that is implemented differently for each hardware platform. > Compiling: > Translate words/symbols/mnemonics to machine code, which than can be > either loaded, linked and executed by an OS or read and executed by > the BIOS. Related to the above point, the “machine code” can just as easily be codes for a virtual machine specification. This is the case for the bytecode instructions Python gets compiled to. > Interpreted: > Instructions which can be fed to a previous compiled program that is > able to dynamically change its execution and flow without the need to > recompile itself. This doesn't make much sense to me, I must say. I'd say, instead, that a program is interpreted if its instruction are dynamically translated to underlying platform instructions at execution time. This is the case for the bytecode instructions interpreted by the Python virtual machine. -- \ “Often, the surest way to convey misinformation is to tell the | `\ strict truth.” —Mark Twain, _Following the Equator_ | _o__) | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list