论坛首页 编程语言技术论坛

忽然想明白了XRuby是个爆有前途的项目阿!

浏览 24072 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-04-03  
dreamhead 写道
to koen:
我前面已经解释了XRuby和JRuby目前的区别,二者的主要差别在于执行引擎部分。
XRuby是利用了JVM作为执行引擎,而JRuby是用Java写了一个执行引擎。所以,二者在性能上存在差距,JRuby因为多了一个层次,所以,要慢一些。事实上,差别不小。JRuby现在与C Ruby还有不小的差别,而XRuby在某些情况下已经可以比C Ruby更快了。

当然,如果非要从本质上来说,肯定都是要结合Java和Ruby,这就好比说计算机软件都是为了解决问题一样,没有错,但这样的讨论没什么意义。

另外,Robbin所说的反编译问题只是从道理上来说可行,因为作为编译器的编写者,通常只会考虑生成代码的正确性,而不会考虑其反编译结果的可读性,所以,反编译的代码可读性极差,甚至有些代码无法生成对应的Java语言源代码。我曾经反编译过XRuby生成的bytecode,出现过这样的情况。我记得在JRuby中也有类似的问题。当然,对于那些不求甚解的人来说,反编译的结果是可以拿出去蒙事的。


感谢dreamhead的回复,好长时间没有来,现在才看到,真是不好意思!衷心的祝福咱们中国人的开源项目能够茁壮成长,取得成功!让外国人也看看咱们中国的软件开发者也有卓越的创造性,而不是只会用别人的东西,我会一直关注你们的项目的:)
0 请登录后投票
   发表时间:2007-04-03  
dreamhead 写道
to koen:
我前面已经解释了XRuby和JRuby目前的区别,二者的主要差别在于执行引擎部分。
XRuby是利用了JVM作为执行引擎,而JRuby是用Java写了一个执行引擎。所以,二者在性能上存在差距,JRuby因为多了一个层次,所以,要慢一些。事实上,差别不小。JRuby现在与C Ruby还有不小的差别,而XRuby在某些情况下已经可以比C Ruby更快了。

当然,如果非要从本质上来说,肯定都是要结合Java和Ruby,这就好比说计算机软件都是为了解决问题一样,没有错,但这样的讨论没什么意义。

另外,Robbin所说的反编译问题只是从道理上来说可行,因为作为编译器的编写者,通常只会考虑生成代码的正确性,而不会考虑其反编译结果的可读性,所以,反编译的代码可读性极差,甚至有些代码无法生成对应的Java语言源代码。我曾经反编译过XRuby生成的bytecode,出现过这样的情况。我记得在JRuby中也有类似的问题。当然,对于那些不求甚解的人来说,反编译的结果是可以拿出去蒙事的。


感谢dreamhead耐心的回复,好长时间没来,现在才看到,真是不好意思。衷心地祝福XRuby项目能够茁壮成长,让外国人也知道中国的软件开发者也有卓越的创造性和编程功力,不是只会用别人的东西。我会一直关注你们的项目的:)
0 请登录后投票
   发表时间:2007-04-20  
这两天在InfoQ上面看到XRuby的很多文章,看InfoQ上说XRuby用了ANTLR,走的是正统的路线,把语法描述和代码生成分开了,这非常适合演进式的开发。如果ruby的语法发生了扩展或者变化它都可以比较容易的跟上。但是JRuby所走的路子在这方面有一些限制,长期下去维护起来成本不低。
robbin所说的也是一个方面,不过似乎让RoR项目放弃所有C Lib也是比较麻烦的做法,这点JRuby和XRuby的解决思路是否有不同呢?
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics