Python Conference Report
The increasing commercial importance of Python was also visible. Free software generally starts out being experimented with by a few adventurous users in their spare time, who then quietly begin using the software for real work. Early adopters often have to battle reluctant managers who are doubtful about trying an unfamiliar program, but when the software gains in popularity, the early adopters are well placed.
Judging by several announcements, Python is moving smoothly along this path. The Python Consortium, which provides a way for companies to fund Python's ongoing development, has grown to two full-member companies and seven associate members.
As another example, ActiveState will now be providing enterprise-class support for Python, as they currently do for Perl. They've definitely started off on the right foot, joining the Python Consortium and hiring Mark Hammond and David Ascher. Both have been part of the Python community for years; Mark Hammond is the primary author of the Python Windows port and co-author of the O'Reilly Python Programming on Win32, and David Ascher maintained Numeric Python for awhile and co-authored Learning Python. Since they've got two highly skilled developers, I expect to see interesting Python-related things coming out of ActiveState before too long.
Several well-known Python developers have formed their own companies. Fredrik Lundh's SecretLabs AB demonstrated PythonWorks, their commercial integrated development environment. Neuberger & Hughes presented WorldPilot, a web-based mail and calendar application built on top of Zope. Andy Robinson and Aaron Watters announced the formation of ReportLabs, which will provide consulting services based on PDFgen, their open-source Python library for creating PDF documents programmatically. All of these companies have contributed significant pieces of free software to the Python community.
Happily, commercialization hasn't diluted the conference's strong technical slant. As a few weeks of reading comp.lang.python will tell you, Python programmers tend to be inveterate language hackers, curious to explore new programming language ideas and to apply them to Python. Two fascinating, though challenging, talks were presented that discussed potential new directions for Python. John Aycock's “Aggressive Type Inference” talk described a type inferencing system for Python, then tested its accuracy by running it on a number of sizable Python programs such as IDLE, Gadfly and Grail. This confirmed Aycock's hypothesis that most variables in Python programs can have a consistent type inferred for them. Programmers rarely use the same variable name for both a list and an integer, and such polymorphism is usually confined to a few sections of code.
Christian Tismer's “Stackless Python” presentation was even more exciting. The current Python interpreter does a C function recursion for every Python function call, which means you can recurse only so deeply before filling up the C stack. Tismer performed some major surgery on the Python interpreter's virtual machine, allowing implementation of various language features such as continuations, generators, co-routines and microthreads. Christian even suggested it would be possible to pickle an entire interpreter state, ship it to an interpreter on another machine, unpickle it and resume the thread of execution.
Another IPC tradition has been Developer's Day, where lively free-for-all sessions give participants a chance to discuss future development over a higher-bandwidth medium than a mailing list. This year, sessions covered such topics such as internationalization, documentation tools, XML software and compiler tools.
The conferences have previously alternated between East Coast and West Coast cities, but the upcoming 9th conference will break that pattern by being in Washington DC again, in November 2000. That's quite soon, so start working on papers now!
Andrew Kuchling works as a web site developer for Magnet Interactive in Washington, D.C. One of his past projects was a sizable commercial site that was implemented using Python on top of an Illustra database. He can be reached via e-mail at firstname.lastname@example.org.
- Machine Learning Everywhere
- Smoothwall Express
- Bash Shell Script: Building a Better March Madness Bracket
- Own Your DNS Data
- Simple Server Hardening
- Understanding OpenStack's Success
- From vs. to + for Microsoft and Linux
- Ensono M.O.
- The Weather Outside Is Frightful (Or Is It?)
- Natalie Rusk's Scratch Coding Cards (No Starch Press)