Whats Next for Python

By eweek  |  Posted 2006-03-06 Print this article Print

?"> We tried to get an early look at the PyCon proceedings and were told that there would not be any produced. Is it a pretty informal event?

PyCon is a grass-roots conference. At some point, in the 1999 to 2000 era, we tried to make it a little more ambitious. The price point wasnt right for that community: Weve gone back to a grass-roots conference and been very successful that way.

What will be the major new features in Version 2.5?

Those are in a document called PEP 356, Python Enhancement Proposal 356. Those PEP documents are on the python.org Web site [at www.python.org/peps].

What do you consider to be the key features?

People who make rash judgments, who reject a language because of any one missing feature arent generally worth catering to. Theyll always find something. But if you had any misgivings about the lack of a conditional expression in Python, 2.5 will have one [as described by PEP 308]. Thats sometimes the right thing in cases where a developer doesnt want a train of thought interrupted. Its not a particularly big deal in my eyes.

Click here to read about how toolmakers are responding to the boom in scripting. For Python developers who have been using the language for a long time, probably the introduction of a "with" statement is more interesting. It makes it much easier for the programmer to do the right thing with locks or with opening and closing files or with database transactions that you want to be sure succeeded. Thats a language feature thats been long in the making, and Im very happy with the outcome—with the result of the design [described in PEP 343].

What made that a difficult process?

It was striking the right balance between a feature that was sufficiently general without inviting abuse or obfuscated code. One proposal that didnt make it had the possibility that whatever object was in the top of the "with" statement might execute the body of the statement multiple times: an incredibly powerful feature, with all sorts of wonderful things you might do with it. But most of the use cases that people actually could come up with didnt involve looping—and the possibility was considered too magical and surprising to the reader of the code.

If we could look out as far as, say, 2010, are there directions that youd be happy to see Python taking?

The major next revision of the language is "Python 3000." Thats been elusive because Python 2.x has been successful and because Ive been employed by people using Python rather than developing the language itself. At Google, Im excited to be able to start developing Python 3000 for real.

Thats defined by PEP 3000; sometimes we jump out of the numeric order [of PEP designations]. The problem with integers that I mentioned, that will be solved in Python 3000 once and for all. Issues with division, which differs between integers and floating-point types, will be resolved. That was another early mistake in the language design thats made for a difficult recovery.

Is the time frame for a usable Python 3000 in the next two or three years?

Id be very disappointed if we didnt have something executable, a close approximation to Python 3000, in the next two or three years.

What else will open new pathways for Pythons use?

I expect that there will be compilers that will cause Python program execution to be significantly faster than it is. More and more people are starting to learn how to do it.

Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.


Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel