LJ Interviews Guido van Rossum
Andrew: What ongoing Python-related developments do you find most exciting?
Guido: We're working on a Python consortium that would fund future development of Python, but there's nothing to report at this time (late July 1998). It's very exciting to see Python find its way into ever more new products and projects. If I had to name one really big exciting thing, it would be JPython.
Andrew: What exactly is JPython, and what is it suited for?
Guido: The original Python interpreter is written in C. JPython is a completely new implementation of Python written in Java. It brings to Java much of the same advantages that CPython has for a C environment—the interactivity, the high-level language, the ability to glue components together. It can also compile Python programs into Java byte code, which can then be used by other Java code, run as an applet or whatever.
Jim Hugunin has done an excellent job of writing JPython, and it integrates with Java very well. In CPython, to use a new C library you need to write an extension module for it. While there are tools which help with this task, such as David Beazley's SWIG, it still takes some work. Java has the Reflection API, which is an interface for getting information about classes, functions and their arguments. JPython uses the Reflection API to automatically generate an interface, so it can call any Java class without effort.
Andrew: Can you say something about any new features planned for future versions of the interpreter?
Guido: Unicode support is becoming important, and JPython already uses Unicode for its string type, so something will have to be done about that for CPython. The Tk interface could be improved in various ways—speed optimizations, mostly. I'm also thinking about adding Numeric Python's array type to the core language; that presents a few issues, because NumPy's arrays don't behave quite like standard Python lists in various ways, and it might be confusing. Another topic of interest is removing the distinction between classes implemented in Python and extension types implemented as C modules. JPython has a better model for this than CPython does, so those improvements may propagate back into CPython from JPython.
Several proposals have been made for interesting features that would be quite incompatible with the current interpreter, so I'm not sure what should be done about them. For example, one suggestion is static typing; a given variable could be declared to be an integer or a string. That ability would let us catch more errors at compile time, and would let JPython produce a better translation to Java byte codes. We're still thinking about how to implement that one.
Andrew: What things would you like to see for Python?
Guido: Better database access modules, an integrated development environment, more documentation and more users, of course!
- Readers' Choice Awards 2013
- Linux Kernel News - November 2013
- Mars Needs Women
- RSS Feeds
- Sublime Text: One Editor to Rule Them All?
- December 2013 Issue of Linux Journal: Readers' Choice
- Raspberry Pi: the Perfect Home Server
- Advanced Hard Drive Caching Techniques
- New Products
- Web Administration Scripts
- There are factors which are
3 hours 49 min ago
- Gnome 3 ?
4 hours 34 min ago
- Reply to comment | Linux Journal
8 hours 41 min ago
- "Redis RethinkDB 4.5%" on Best NoSQL Databases
18 hours 47 min ago
- on the ground
1 day 1 hour ago
- I was able to read the whole
1 day 2 hours ago
- since i have read the title i
1 day 5 hours ago
- Belanja Online Cari Voucher Diskon
1 day 6 hours ago
- The kernel doesn't really
1 day 18 hours ago
1 day 18 hours ago