Martin P. Hellwig wrote:
<div class="moz-text-flowed" style="font-family: -moz-fixed">Michel Claveau - MVP wrote:
Hi!

Python is interpreted

No. Python is compiled (--> .pyc)
But the term "to compile" is not always unambiguous...
And the notion of "compiler" is not attached to Python (the language), but is attached to the implementation.

@+

MCI

Well the pyc, which I thought was the Python bytecode, is then interpreted by the VM.

As Michel says, "to compile" is not always unambiguous. My definition includes a one-way transformation from human-readable source text into something that can be more efficiently interpreted by other code, or by hardware. The compiler really doesn't care whether the machine it's targeting is real or virtual.

The CPython implementation of Python compiles the source text into a bytecode file, with extension .pyc. That certainly is a compilation step. Followed (much) later by an interpreted one.

To pick a specific implementation of C++, Microsoft C++ compiles C++ source text into an "executable file," with extension .exe (I'm ignoring little details, like the linker). That's a compilation step. Then the exe file is (later) interpreted by the microcode on the Pentium chip.

As far as I know, nobody has yet built a microcode implementation of a Python VM (Virtual Machine). Nor have I seen one for the Java VM. However, in the early 80's there was a microcode implementation of the P-system VM. It was never a commercial success, but it existed. And there have been at least three Forth machines, where the hardware itself was designed to support the language's VM. No microcode at all.

DaveA
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to