Stackless Python, Lunchtime Lightning, Dev Panel
After SWIG, I just stayed put for a talk on stackless python. I knew nothing about stackless before the talk, and I only know a little more now. I'm still digesting the ideas; it's exciting.
Over lunch, conference sponsors gave lightning talks
, five
minute mini-sessions packing loads of information into a little time
(with the overhanging threat of the mic being cut off when the timer
reaches 0:00). We heard interesting things about scientific programming
(SciPy) and development tools (bazaar, komodo), but the room was
electrified by the CCP Games
talk. EVE Online is built on a python (stackless!) infrastructure. The
demo they showed, though prerendered, earned the only ovation offered
during the lightning talks.
I'm now listening to the python dev panel, and the biggest discussion is about how python can be made to take advantage of multiple cores. The global interpreter lock makes this hard, and the limitations are not unique to python. The panel seemed to have the consensus that python that can move away from the GIL will be something other than CPython, maybe PyPy. (The panelists are CPython developers.) Argh, the pypy talk is going on opposite this one.
Question: What about bloat? (This was prompted by the keynote, which I'll write about later.)
One panelist (Andrew?) lamented that the language is changing, with
new features being added, leading inevitably to larger size. He wishes
that they could "quit monkeying with the language" and work instead on
the standard library. (Is python finished
? I wondered this in
2003, when list comprehensions were new. I mean, they're keen, but...
I wonder if this is the attraction of LISP. Its been done a while, ARC
notwithstanding.)
Speaking of core bloat, question: What needs to happen to get numeric stuff, like the array interface into the core? The numeric community needs to take the lead, submit patches, etc. Incremental changes are good, easier to review than large sweeping changes. Start as a library, popular, stable, that can be included in the "batteries included" distribution.
Question: What's the process to get a package accepted into the standard library? Step 1: Write it. Don't ask if you should write it, just write it. Get it accepted by the community. Follow the coding standards. Be ready to be the maintainer. It must be a general solution that is useful to the community at large. Documentation and tests must also be included.
Question: There's no mechanism for unloading a C extension. Should there be? There's not much call. There's no way to know of the extension is actually unused.
Question: Standard library vs. eggs. Setup tools will support eggs in 2.6. Should eggs replace large swaths of the standard library modules? Mmmmaybe.
Comments: 0