On Mon, Jun 2, 2008 at 8:26 AM, Felix Schwarz <felix.schwarz(a)oss.schwarz.eu>
wrote:
In my understanding Jython better suited/the best possibility if I want to
call Python from Java code. If the main program is in Python, using Jython
will restrict you on a Python feature set that is roughly the same as in
Python 2.2.
Jython in SVN is 2.3 + some 2.4 features, and some 2.5 libraries. Here's a
slightly old status report:
http://groups.google.com/group/jvm-languages/browse_thread/thread/e53015c...
Hopefully they'll do a new release sometime soon.
So I think JCC is basically the right thing to do as this is the only way
you can always use the latest Python features (even Python packages
that are
written in C) and the latest Java (GCJ always had threading issues and is
generally hard to debug).
There are different tradeoffs; wedging two completely separate runtimes into
the same process gives you a lot of integration issues - garbage collectors
that aren't aware of each other, etc.
Furthermore using JCC you can even use Java from C++ without too much hassle
- quite cool I think :-)
Yeah; it does make sense I think to ship JCC. But once Jython is able to
run major web frameworks like Django/TurboGears, there will be less need for
it.
Sorry, my wording was not detailed enough. JCC does "JNI the
other way
round" so it calls Java from C++. Therefore there is no System.loadLibrary
which could be patched. Instead I have to rely on the standard linker
configuration (or use rpath).
Ah, I see. I think it makes the most sense to either put libjvm.so in
$libdir or use dlopen, but that's more of a detail for the OpenJDK/Icedtea
hackers.