IBM developerWorks: Interviews with the creators of JPython and Python for .NET
Dec 25, 2000, 12:42 (1 Talkback[s])
(Other stories by David Mertz)
Re-Imagining Linux Platforms to Meet the Needs of Cloud Service Providers
[ Thanks to Suhani for this link.
"Although Python is commonly equated with CPython, its
specification has been implemented elsewhere several times,
including in applications for Java and .NET. JPython compiles
Python source to Java bytecode and provides transparent access to
Java classes. Python for .NET is an application in the works for
Microsoft's forthcoming cross-language technology platform. In my
interview with Mark Hammond, Finn Bock, and Barry Warsaw, I found
out more about how JPython and Python for .NET were developed and
what's in store for the future of these alternative Python
"Mark Hammond is familiar to most Python programmers because of
his excellent development of the PythonWin environment and the
PythonCOM extensions. And for the same reasons that we look up to
Mark, Microsoft also looks up to Mark. They decided to contact him
for help on their implementation of Python for .NET. According to
Mark, a working version of Python for .NET should be available Real
Soon Now and you should already be able to get an alpha or beta
version from ActiveState."
"David Mertz: Exactly what is Python for .NET? I guess I'm
especially curious about how Python for .NET relates to your own
PythonWin and PythonCOM extensions to CPython, which already seem
to enable control of Windows' guts."
"Mark Hammond: Python for .NET is a compiler and runtime that
implements Python on the Microsoft .NET platform. The .NET platform
provides a runtime and metadata system designed to allow complete
language interoperability, but to achieve that, the languages have
to work in that runtime."
"For example, if a Python class is made public so that a Visual
Basic programmer can inherit from it, the Python class has to be
implemented and described in .NET terms, not in CPython terms."
"The advantage of Python .NET is simply that you can
interoperate with the .NET framework. There are still a lot of
disadvantages here, mainly due to the immaturity of the
implementation. But it's really only a matter of time. We're still
in the beta stage in terms of development and fine-tuning."