Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

JRuby is really cool, however whenever I tried using it, well it was painful. It's not JRuby's fault as the devs did a phenomenal job on making it a first-class Ruby implementation, but you always have issues with its startup time added on top of the already awful startup time of Bundler/Rails, or with incompatibilities with libraries, or with libraries behaving differently or being incomplete on top JRuby versus Ruby MRI, or with instances in which you have to mix Maven or Jars with Bundler / RubyGems and so on.

In the end, for new projects if you want to use the JVM, it's way better to use a language that was grown on top of the JVM. Like Scala or Clojure, or maybe even Java 8 when it comes out. Which is exactly what I personally did, being tired of the limitations that the reference Python/Ruby interpreters have.



I actually know of a few people who use MRI on their local machines and JRuby on the servers.

Not ideal but one option.

Regarding mixing jars / maven and bundler. Well to be honest I have never been in that position w.r.t maven but including jars in a project has never really been a problem for me. (Plus on MRI those jars wouldn't have been available in the first place!)


I ended up with a mix when I wanted to run my app on top of a Jetty server. There are projects like jetty-rackup, but when you're on top of the JVM sometimes you feel the need to throw a servlet for a problematic endpoint in there, or some middleware like a filter that you could use for websockets or some library that doesn't already have wrappers packed up as a gem and so on.

JRuby is great, all I'm saying is that when you feel the taste of a competent virtual machine there's no going back :-)


You seem to be confused. Clojure startup time is actually worse than JRuby, especially when you throw a tool like Leiningen into the mix:

http://martinsprogrammingblog.blogspot.com/2012/02/why-is-cl...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: