Ruby和JRuby有什么区别?

任何人都可以请外行提供我开发JRuby和Ruby,Rails应用程序之间的区别吗?

我使用NetBeans作为我的Ruby on Rails IDE,每创build一个项目都会问我这个问题 – 而且我没有真正的区别。 有没有什么亲和?

Ruby运行在基于本地C的解释器中。 JRuby在Java虚拟机内运行。 有许多gems和插件可能无法在JRuby内部使用,特别是使用本地C扩展,除非它们已被重写为以Java运行。

最终,当你想要真正部署你的应用程序时(假设你想使用的gem不是问题),就会出现差异。 如果你想部署到一个Java Web服务器,那么JRuby将是要走的路。 如果你有一个* nix环境,那么Passenger + Nginx或者Apache也很受欢迎,它使用标准的ruby或ruby企业解释器。 总是有杂种或瘦群选项,再次使用标准的解释器。

JRuby在Java VM上运行(解释器是用Java编写的),而原来的Ruby解释器是用C编写的。两者都有缺点(Ruby可以使用本地扩展,JRuby可以访问Javatypes,对象等)

JRuby使用Ruby 1.8.6的语法,1.9.x即将推出。 JRuby有Java线程(这意味着它可以扩展到许多cpu,内核等),Ruby在用户空间线程,lockingec等方面存在一些问题。

就个人而言,我使用的是Glassfish v3和Netbeans的JRuby进行RoR开发,比ruby + mongrels,Apaches更容易pipe理。

Ruby是一种编程语言。 JRuby是Ruby编程语言的一个实现。

询问两者之间的差异并没有什么意义:它们处在两个完全不同的抽象层次上。

这与问车和普锐斯有什么不同。 这也没有意义,一个普锐斯实施一般的汽车概念。 你可能会问,普锐斯和悍马之间有什么区别,或者是汽车和飞机之间的区别,但是汽车和普锐斯之间的区别是没有意义的。

同样,用Ruby,你可以问Ruby和Python或JRuby和MRI之间的区别,但是Ruby和JRuby之间的区别是没有意义的。

JRuby是Ruby的Java实现。 它与Ruby 1.8兼容,并且落后于当前的Ruby(1.9)。 它在JVM上运行,并允许您轻松集成现有的Java库。

JRuby大多与Ruby兼容。 JRuby的一个方面是,出于性能原因 ,您可以在非兼容模式下运行它。

据我所知,jruby只是一个用java编写的ruby实现,所以它可以很容易地与java运行时集成。

JRuby是Ruby编程语言的Java实现。

JRuby是Ruby解释器的Java实现。 Rails(又名Ruby on Rails)是一个用Ruby编写的Web应用程序框架。 本文解释了如何通过JVM实际执行Ruby代码http://patshaughnessy.net/2012/2/7/journey-to-the-center-of-jruby