Python vs. Lisp -- please explain

Torsten Bronger bronger at physik.rwth-aachen.de
Wed Feb 22 04:15:21 EST 2006


Hallöchen!

Peter Mayne <Peter.Mayne at hp.com> writes:

> Torsten Bronger wrote:
>
>> My definiton would be that an interpreted language has in its
>> typical implementation an interpreting layer necessary for typical
>> hardware.  Of couse, now we could discuss what is "typical",
>> however, in practice one would know it, I think.  In case of Python:
>> CPython and all important modern processors.
>
> In a previous century, I used something called UCSD Pascal, which at
> the time was a typical implementation of Pascal.

Not "a" typical implementation but "its".

> [...]
>
> And, as someone in this thread has pointed out, it is likely that
> your important modern (x86) processor is not natively executing
> your x86 code, and indeed meets your definition of having "in its
> typical implementation an interpreting layer necessary for typical
> hardware".

Only if you deliberately misunderstand me.

> Another example: is Java the bytecode, which is compiled from Java
> the language, interpreted or not? Even when the HotSpot JIT cuts
> in?

It is partly interpreted and partly compiled.  That's why it's
faster than Python.

> [...]
>
> Personally, in practice I don't care, so don't ask me. Ponder on
> getting angels to dance on the head of a pin before you worry
> about whether the dance can be interpreted or not.

I agree that the term "interpreted" is bad Python advocacy because
its implications are often misunderstood.  However, I think that
it's fair to make a distiction between compiled and interpreted
languages because it may affect one's decision for one or the other.
Although I'm surely not ingenious, I can make this distinction.

The reason why Python is slower than C is because there is an
interpreting layer that C doesn't have.  And the reason for this is
that Python's nature is incompatible with today's CPUs (which was a
deliberate and advantageous design decision).  I'm sure that a
willing CS person could define this more clearly.

Anyway, if we drop "scripting" and drop "interpreted", what do you
want to tell people asking why Python is so slow?  Because it is
dynamic?  ;-)

Tschö,
Torsten.

-- 
Torsten Bronger, aquisgrana, europa vetus            ICQ 264-296-646



More information about the Python-list mailing list