Python bytecode compatibility between interpreter versions
Andrew MacIntyre
andymac at bullseye.apana.org.au
Sat Mar 20 18:36:46 EST 2004
On Sat, 20 Mar 2004, Jon Perez wrote:
> Right. I am aware that freezing is the optimal way to distribute
> apps written in Python today. After trying out Java though, I have
> to say I'm impressed with the way you can take a bunch of class
> files archived in the exact same jarfile to *ANY* computer with a
> JRE installed, type in java -jar jarfile and have it run _identically_.
>
> Perhaps one day .pyc files can work in such a manner.
Perhaps.
However there is a clear differentiation between Java and Python
in this area:
- Java has always been specified in terms of the language and a
virtual machine design (which implies a portable binary form files for
executables - jar files);
- Python has always been specified in terms of the language, with a
portable reference interpreter implementation for that language (which
just happens to compile to bytecode, and save that bytecode to disk
as an optimisation).
IOW, the bytecode is an implementation detail for _one_ interpreter
implementation.
This becomes obvious when you consider the possibilities associated
with Jython, which could (already does?) compile Python source to jar
files directly.
--
Andrew I MacIntyre "These thoughts are mine alone..."
E-mail: andymac at bullseye.apana.org.au (pref) | Snail: PO Box 370
andymac at pcug.org.au (alt) | Belconnen ACT 2616
Web: http://www.andymac.org/ | Australia
More information about the Python-list
mailing list