Ben Finney wrote:
"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.


I would have said compiled is executed by hardware, interpreted is executed by software -- but I like your definition better. :)

~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to