python simply not scaleable enough for google?
Terry Reedy
tjreedy at udel.edu
Sat Nov 14 17:45:00 EST 2009
Willem Broekema wrote:
> It might have gotten a bit better, but the central message still
> stands: Python has made design choices that make efficient compilation
> hard.
>
>> OK, let me try this again. My assertion is that with some combination of JITting,
>> reorganization of the Python runtime, and optional static declarations, Python
>> can be made acceptably fast,
>
> That does not contradict that, had other language design choices been
> made, it could be much easier to get better performance. Python may in
> general be about as dynamic as Common Lisp from a _user_ perspective,
> but from an implementator's point of view Python is harder to make it
> run efficiently.
I think you are right about the design choices. The reason for those
design choices is that Guido intended from the beginning that Python
implementations be part of open computational systems, and not islands
to themselves like Smalltalk and some Lisps. While the public CPython
C-API is *not* part of the Python language, Python was and has been
designed with the knowledge that there *would be* such an interface, and
that speed-critical code would be written in C or Fortran, or that
Python programs would interface with and use such code already written.
So: Python the language was designed for human readability, with the
knowledge that CPython the implementation (originally and still today
just called python.exe) would exist in a world where intensive
computation could be pushed onto C or Fortan when necessary.
So: to talk about the 'speed of Python', one should talk about the speed
of human reading and writing. On this score, Python, I believe, beats
most other algorithm languages, as intended. It certainly does for me.
To talk about the speed of CPython, one must, to be fair, talk about the
speed of CPython + extensions compiled to native code.
In the scale of human readability, I believe Google go is a step
backwards from Python.
Terry Jan Reedy
More information about the Python-list
mailing list