My Unsolicited Advice For PyPy [cross post from r/python/
blog.ianbicking.org/2011/04/04/unsolicited-ad...Posted Apr 4, 2011, 3:54 PM UTC
Posted Apr 4, 2011, 3:54 PM UTC
I must agree that PyPy's development is moving toward to the direction of catch up. For example, in the high performance direction one gets cython, and skedskin. CPython also has much better advantage with foreign language interface given the natural of C backend. For different backend you get IronPython and Jython. For portability, you get original CPython. You would need a distinct feature to lock your users with your implementation (in a good way) and drive competition with other implementation.
Python 3 support.
I believe the general feeling is "we don't care for Python 3", so, no, that feature won't cut it.
Concurrency, perhaps? Coupled with the JIT's speed it's a good combo
Is that really a selling point for a python implementation currently? I think being crazy fast without you having to change your code would be way more of a selling point than supporting a language where you have to port your code to.
Why CPython for portability? Can't pypy run on every platform that any python can run on?
I assume it can run on any platform with a C compiler. So is cpython. Thats why I was pointing out that portability cannot be a strong selling point for PyPy.
The PyPy translation toolchain can emit JVM and CIL byte code as well as C (although they are currently broken), taking advantage of the really rather good JIT and GC technologies on those platforms, and allowing interoperability with native libraries (although that bit is yet to be implemented). In future the JIT engine should do the same.
That's really one of the key points of PyPy: by writing your interpreter in Python and mechanically translating it you can get a performant CPython replacement, a performant Jython replacement and a performant IronPython replacement. Other targets would only be a small matter of programming.
I think the most interesting work in programming languages right now is about the runtime, not syntax or even the languages themselves.
So you must be ignorant of Rust, Clay, Nimrod, ... and even Go.
How so? One of Rust's objectives is a very sophisticated runtime design -- not just w.r.t. concurrency, but also memory management. Go also has an "interesting" runtime.
Anyway, the author is entitled to think that runtimes are interesting; that doesn't imply he's ignorant of other innovations.
Rust:
This is a very preliminary work in progress. No supported releases yet nor defined release schedule / plans. Caveat emptor. It will crash. It will change syntax and semantics. It will eat your laundry. Use at your own risk. Etc.
I guess ianb is after something different.
Did no-one else feel the need to ]?
I think his advice is more suited to CPython, than to PyPy.
"I’m a web programmer, and speed is uninteresting to me."
Truer words were never spoken...
[deleted]