The present and future value of Python

The present and future value of Python.

The universal database is just one example of the kind of
next-generation platform service that will be used primarily through
managed interfaces. As operating systems consolidate around managed
interfaces — to data, to middleware, to graphics — they're going to
tend to prefer the Java and .NET and Mono VMs over the Perl, Python, or
PHP VMs. But the agility of the dynamic languages, and the
collaborative energy of their open-source communities, will matter more
than ever. Injecting these qualities into the mainstream VMs is
something I've always thought was crucial.

Now as many of you probably heard, Jim Hugunin made two
dramatic announcements on Wednesday at the O'Reilly Open Source
Conference. Jim's the guy who created Jython, which is Python for the
JVM. His first announcement was that IronPython, which is Python for
the .NET Common Language Runtime and for Mono, has been released. The
second announcement was that Jim starts his new job at Microsoft on
Monday, where he'll work on IronPython and help make the CLR friendlier
to dynamic languages. I think this is a huge deal. Managed code isn't a
panacea, but it's the dominant way of making programming easier and
safer. Last month I wrote a blog item with the title: “It's not the J
in Java Virtual Machine that matters, it's the VM.” For the same
reasons there aren't a dozen CPU architectures that matter, I don't
think there will be a dozen mainstream VMs. There will be the JVM,
there will be the CLR, and — let's all pray — there will be a viable
non-Windows alternative to the CLR in the form of Mono. And then,
maybe, there will be Parrot, one runtime to bind all the open source
dynamic languages.

I don't mean to suggest that integration with the mainstream VMs is a
survival issue. Python's doing just fine all by itself. BitTorrent, for
example, is touching millions of lives. Users of the SpamBayes Outlook
plugin have no idea they're running Python. When I was poking around in
the Gmail help system the other day, a Python stack trace came spewing
out. If Chandler succeeds, it'll be the first major user-facing GUI
application written in Python, or indeed in any open source dynamic
language, and that's something I've been wanting to see for a very long

What I do want to suggest is that, if we can get really good
implementations of Python running on the mainstream VMs, Python will be
in a position to touch many more millions of lives — and, what's
equally interesting to me — to influence the evolution of the managed
frameworks running on top of those VMs. There hasn't been anybody
inside Microsoft who cares about this, but on Monday that'll change.
There hasn't been anybody inside Sun who cares about this either, and I
don't know when or how that might change. Still, it isn't ultimately up
to Sun or Microsoft to make this happen. What they can do, and should
do, is lay the foundation. It's up to somebody in the Python community
— maybe somebody in this room — to build on top of that. So if you're
looking for a project that can really make a difference, you might want
to consider Jython or IronPython. Any takers? [Complete text of the speech]

This extract concluded the talk I gave this summer at the Vancouver Python Workshop. Tim Bray's item last week about the dynamic-language summit at Sun reminded me that I never got around to posting the text of my speech.
[Jon's Radio]

Leave a comment