The IPC10 Python Gathering

This year's Tenth International Python Conference (IPC10) served up the usual smorgasbord of cutting-edge Python applications and technology. Despite the economy, over 250 people gathered just outside Washington, D.C. to glimpse the future, exchange notes, and reaffirm remote friendships.

As usual, the conference provided a full day of tutorials, two days of presentations, and a final day aimed at Python developers. There were also assorted BOFs in the evening, conference T-shirts (which, of course, flaunted this year's winning conference slogan: "import this"), and a remarkably full Python book display. By my count, there are over
30 Python books today, with more in the works; I try to keep
a list here.

I've been attending Python conferences since the early days, when a few dozen people gathered in one small room. Since then, the conferences have grown to become pivotal events on the Python landscape. Some people come to plan, some to learn, and some to hatch business ideas. For my part, I have always found IPCs useful as both a sneak peek at the Python forefront and a chance to touch base with old friends and comrades, many of whom I meet in the flesh only once a year.

What I Saw

As always, the biggest downside of IPCs is the inevitable frustration of having to choose which talks to attend. This year, there were separate
and parallel tracks on Python tools, Web services,
Zope (a Python-based Web application framework), and assorted refereed papers. It's all good stuff, but between talking with friends and hopping between rooms, it's never possible to take in as much as I'd like.

What I did manage to see, though, made it clear that the Python community is as fervent as ever. Among the topics of talks I attended:

The new-and-improved SWIG integration code generator, with better support for the C++ type model, and much more. If you care at all about mixing Python with C or C++, you should check out
www.swig.org for the full scoop.

A new Python profiler that more accurately measures program performance. The old one apparently was prone to deceit.

An object-based SQL database interface, which gets away from building raw SQL strings. Unlike the current Python Portable database API, the
model presented is all SQL at the bottom, but Python-esque objects and methods near the top.

A discussion of options for coding parsers in Python. Yapps
(Yet Another Python Parser System) was commended for being a pure Python solution
that can be debugged by mere mortals. Other options were discussed as well.

An in-depth, empirical comparison of the usability of Python, Perl, and TCL, for implementing a paint program and chat server. Python won on most counts (which, at a conference of Python loyalists, should not be too shocking). It was cited as being the easiest to learn and use, the strongest on OO, and the best for Tk GUI, socket, and IO library use.
Tcl was commended for its built-in event loop, and Perl for its CPAN database--areas which the Python world will surely improve on very soon.

Python's support for the CORBA distributed object model. This was one of my favorite talks among those I attended, mostly because it made the interesting and curious point that SOAP and the related Web service technologies being hashed out are all very busy solving problems that CORBA solved many years ago. Reuse, anyone?

What I Missed

What I did not see could fill many more pages. Due to other commitments (mostly Python training), I managed to miss most of the Zope and Web services tracks; the keynote addresses by Andrew Koenig and World Wide Web creator Tim Berners-Lee; Guido van Rossum's State of Python address on Developer's day; and far too many interesting talks to list here. Alas; maybe by next year there will be a PyClone project in the works.

I also missed the Frank Willison Award presentation. Frank was my editor and friend, and a key figure behind Python's success. It's heartwarming to know that his legacy will be remembered this way. More details on this year's award are available in
O'Reilly's press release.

If you are interested in a sampling of what Pythonistas are up to lately, be sure to see the sessions list at the
conference Web page.
An IPC10 memorabilia page, with talk slides and photos, is also springing up. Be sure to see the photo of Python's Very Serious Leader Guido van Rossum near the bottom.

Taking Python's Pulse

In lieu of further technical details (which I really don't have anyhow), I'd like to pass along a few general impressions. Besides formal presentations, conferences are also a reasonable way to measure the mood of the Python community. I won't pretend to speak for everyone, of course, but a few common threads seemed to be discernable as I moved among the Python huddles in the hall.

First, and foremost to me, there is a tangible "back to work" mindset in the Python world at large. People are busy having fun with Python again, whether they are getting paid for it or not. Really, there never was much of a pause. Most of what happens in Python has always been a labor of love, and so Python is by and large immune to Wall Street shenanigans. At any
rate, there was much optimism to be had at this IPC.

Second, there seems to be a sort of returning to the basics, both in terms of technology and philosophy. Technologically, classic Python scripting applications, which wed Python with other components, seem to be back in vogue. Stand-alone Web systems are still important, and there was an entire track devoted to this topic at the conference. But Python never was just a Web language. For many developers, general-purpose programming and integration have reclaimed their places in the limelight.

Philosophically speaking, it's encouraging to see that the recent economic slowdown may also have had a positive effect on quality of craft. Much of the Web sprung up in a frenzy, with inevitable shortcuts and hacks. But times have changed. More than one attendee told me that he or she was glad to have time to do careful development again. Developers with time to do things right have a way of shaping the future, so watch
for silver linings.

Finally, an intangible. Among the Python old-timers I cornered, there is also a noticeable satisfaction with where Python has come so far. When I first started going to these gatherings, Python was little more than a dream of quality shared by a handful of idealists. Python may not rule the world just yet, but the impact of those early ideas is more apparent
than ever. As evidenced by the breadth of topics at IPC10, Python has taken hold across the board. It continues to attract interest as a language where things like quality, simplicity, and productivity, matter as much as raw utility. Especially in lean times, Python is still the right answer to many questions.

The Next Conference

The next Python conference in the U.S. is being held by O'Reilly this summer in conjunction with the
O'Reilly Open Source Convention. For details, see the
python.org page. If you're doing something interesting with Python, I encourage you to come and share it with others. I'll be there, and I might be asked again to report on the many amazing things I will most certainly miss.

Mark Lutz
is the world leader in Python training, the author of Python's earliest and best-selling texts, and a pioneering figure in the Python community since 1992.