On Fri, 15 Jan 2010 12:34:17 -0800, John Nagle wrote: > Actually, no. It's quite possible to make a Python implementation that > runs fast. It's just that CPython, a naive interpreter, is too primitive > to do it. I was really hoping that Google would put somebody good at > compilers in charge of Python and bring it up to production speed. > > Look at Shed Skin, a hard-code compiler for Python
A hard-code compiler for the subset of Python which can easily be compiled. Shed Skin has so many restrictions that it isn't really accurate to describe the language which it supports as "Python". Hardly any real-world Python code can be compiled with Shed Skin. Some of it could be changed without too much effort, although most of that is the kind of code which wouldn't look any different if it was implemented in C++ or Java. The monomorphism restriction is likely to be particularly onerous: the type of a variable must be known at compile time; instances of subclasses are allowed, but you can only call methods which are defined in the compile-time class. If you're writing code which makes extensive use of Python's dynamicity, making it work with Shed Skin would require as much effort as re-writing it in e.g. Java, and would largely defeat the point of using Python in the first place. http://shedskin.googlecode.com/files/shedskin-tutorial-0.3.html If you want a language to have comparable performance to C++ or Java, you have to allow some things to be fixed at compile-time. There's a reason why C++ and Java support both virtual and non-virtual ("final") methods. -- http://mail.python.org/mailman/listinfo/python-list