Checking in on Python papa Guido van Rossum
- By Dan Romanchik
Since its introduction in 1991, Python has gathered a loyal following who claim that the open-source language makes them more productive. This summer, the Python Project will release Version 2.3, which will add modules to the standard library and improve performance. With that as a backdrop, Programmers Report asked Guido van Rossum, the author of Python, some questions about how the language got its start and where it's going.
Q: What prompted you to develop yet another programming language?
A: I was working on the Amoeba distributed operating system in the late 1980s and the group developing Amoeba felt the need for a scripting language that we could use to write sysadmin programs. Amoeba was very different from Unix, so we couldn't use the Bourne shell (which was already ported to Amoeba, but of limited use) or Perl (which wasn't portable to non-Unix systems at the time). Besides, I had some ideas for improvements on a past project, the language ABC, which was intended for beginning programmers.
Q: How many users of Python do you estimate that there are?
A: It's hard to say but, a few years ago, Tim O'Reilly estimated the number at half a million. The traffic to our Web site (www.python.org) has only increased since then.
Q: Users claim that they are more productive with Python than with other commonly used programming languages. Why do you think this is so?
A: There are many aspects of Python that work together toward this goal. It has powerful built-in types -- especially the dict and list container types; it has a large powerful standard library; no compilation -- hence a quicker edit-run cycle; less typing for function and variable declarations; and so on.
A Python program is often two to fives times as short as a corresponding C++ or Java program; that size difference alone means that there's less work whenever the program needs to be modified.
Q: What are some of the other strengths of the language?
A: A large collection of third-party modules, packages and extensions, including some for numeric and scientific work; database adapters; and GUI toolkits. Python also has a large, friendly user community (on comp.lang.python and other places).
Python is also an excellent language to teach computer programming. I often hear that teachers in middle schools, high schools and colleges are teaching Python as a first language. The beauty [of the language] is that it's easy to learn and useful in the real world.
Q: What are some of the more interesting applications that have been developed with Python?
A: Two of the most interesting examples are Zope plus CMF, a dynamic Web application framework and a [related] content management framework; and BitTorrent, a peer-to-peer tool for software distribution.
Q: What's next for Python?
A: This summer we expect to release Python 2.3, which adds many new modules and packages to the standard library, and has some performance enhancements compared to Python 2.2. Exciting long-term projects are Psyco and PyPy, both of which aim to create a new Python implementation that runs at the speed of compiled languages.
For other Programmers Report articles, please go to www.adtmag.com/article.asp?id=6265
Dan Romanchik is an engineering manager turned writer and Web developer. His current passion is amateur radio. You can read his amateur radio blog at www.blurty.com/~kb6nu.