Ask HN: How mature is Jython compared to JRuby? - proveanegative
======
nostrademons
It's pretty mature, but its place within the Python ecosystem is different
from JRuby's place in the Ruby ecosystem. Jython is basically an extension
language for the JVM: it lets you use the familiar & comfortable Python
language to script your JVM languages. Many popular Python packages won't work
on Jython, either because they depend upon C extensions or because Jython is
several versions behind CPython.

Ruby has much more of a bias toward writing libraries in pure Ruby, and so a
greater portion of the Ruby ecosystem runs on JRuby. Also, Ruby's use-cases
largely center around Rails and system administration, while Python also has
large presences in scientific computing, scriptable C++ network servers,
desktop GUI apps, etc, (none of which work on Jython). That makes JRuby very
attractive for deploying a Rails frontend on top of JVM backend
infrastructure, but the analogous situation in the Python world (Django webapp
in front of say Twisted or Celery) won't even run on Jython.

------
zmmmmm
I don't know about "mature", but my main frustration with jython is that it
can't use a whole slew of libraries that call on native code. So a whole lot
of things that happen to be important to me just aren't usable. And they
aren't that exotic - things like pandas, numpy etc.

------
hcayless
My impression is that JRuby is a lot more advanced, particularly from the
point of view of parity with its "parent". That's not firsthand knowledge
though: I use JRuby a lot, but Jython not for years, so I'm not plugged in to
the latter. My impression is that its development kind of stalled out a few
years ago, but maybe has recovered in the last few years.

JRuby performs very well, especially if you're using it in an environment like
a web app, where JVM startup time isn't an issue. It's definitely better once
you reach a certain threshold of usage. I wouldn't use it probably for little
stuff, but if you're getting to the point where you need things like
multithreading and garbage collection becomes an issue, then JRuby is a good
bet.

------
veddox
I don't have any experience with Ruby, but I did a Jython project last year
and I was rather disappointed. For a start it's still stuck on the 2.x
versions of Python (I find 3.x _much_ better, esp. for things like Unicode
support). Secondly I found it to be really, really s l o w.

So while I love the concept of being able to write Python code for the JVM,
I'm probably not going to be doing it again any time soon with Jython.

------
antod
Jython is still hanging in there, and reached 2.7 this year. I imagine 3.x
compatibility is going to require a big effort though.

But JRuby has way more momentum and a much larger userbase.

But on the .NET side, IronPython is still ticking along while IronRuby is
dead.

