7 ms·
Ask HN: How mature is Jython compared to JRuby?
- zmmmmm 11y agoI 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 11y agoMy 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.
- nostrademons 11y agoIt'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.
- antod 11y agoJython 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.
- veddox 11y agoI 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.