Green Tree Pythons10/11/2000
Guido van Rossum once suggested a can of Spam was a more appropriate icon for the Python language, named after the British comedy troupe of Monty Python's Flying Circus. "Don't you associate it with dangerous reptiles either!" He has relaxed some and says he no longer cares. BeOpen uses the head of a green python as the icon for BeOpen Python. They don't say what kind of python it is, but my guess is it is a green tree python, Morelia viridis. Why the green tree python? M. viridis will coil on a branch, laying motionless for long periods of time before launching itself at prey. They come uncoiled like a spring and snatch birds from the air. Janell Cannon uses the green tree python in her children's book, Verdi. Verdi is a young python, frustrated by his adult relatives' listless behavior.
Over the last year I have spoken with many Python enthusiasts who have been, like Verdi, frustrated with an apparent listlessness from Python, particularly as the Python team underwent the change from CNRI to BeOpen and the subsequent licensing issue. Maybe it was just a long skin shedding, because Python is certainly springing now. Projects that were looking dead now turn out to have been just resting.
First it was the announcement of version 1.6 and 2.0 beta on the same day. This week the first release candidate for 2.0 was announced; 2.0 is moving rapidly now, and thoughts already turn to 2.1. Then Stackless Python, invigorated by lots of press, has also been coming uncoiled. There is a now a mailing list for Stackless. Work is beginning on updating it for 2.0, and plans for a bid to merge with Python in 2.1 are underway. The Stackless mailing list has been very busy.
JPython has been a real green tree python sleeper. It's a version of Python written for the Java Virtual Machine. Just as the regular CPython (written in C) gives you access to tons of C-based libraries, JPython opens up Java itself for scripting in Python. That is great news for everyone with one foot in the Java world and one in the Python world. While the current release works, JPython has mostly lain fallow since Jim Hugunin left CNRI, except for a series of patches released by Finn Bock. And that was months before the move to BePython, even. Now it too is stirring. Guido recently divulged on the educational sig that they are "quietly working on a new release of JPython, which will include all of Finn's errata, and support all the new syntax of Python 2.0." JPython springs to life!
This last week the educational sig mailing list has been jumping. This is the list inspired by the proposal for Computer Programming for Everybody (CP4E), and it is for discussing the role of Python in education. CP4E has been resting since the move to BeOpen. It has been unclear what will happen to it without some outside funding. I lamented the educational sig's listlessness in last week's news about Kirby Urner's math curriculum. But that very week, the list too sprang from its rest. We were visited by Matthias Felleisen of the TeachScheme project, and a lively discussion of Scheme's role in education and Python's role as an introductory language was begun. Michal Wallace offered his idea for building programs that teach by asking questions, combining the Socratic method with Reality Trees (a thinking tool used by Eli Goldratt in his Theory of Constraint books) to create programs that teach by asking questions. This sparked some discussion of mental maps and design patterns. It is good to see the list moving again.
I read a post from someone on the Python newsgroup complaining about the BeOpen Python. They said, "A green python? There really aren't that many green pythons." They thought perhaps BeOpen should have used a ball python as their icon. No way. The green tree python looks like just the right python for us. It may appear motionless, but things are happening on the inside. When M. viridis moves, it moves fast. Python does as well.
Stephen Figgins administrates Linux servers for Sunflower Broadband, a cable company.
Read more Python News columns.
Discuss this article in the O'Reilly Network Python Forum.
Return to the Python DevCenter.