Posted on 2006-09-24 14:50
chenger 阅读(407)
评论(0) 编辑 收藏 引用 所属分类:
Programming Stuff
我在自己的电脑上装了ruby,稍微看了点Programming Ruby,感觉Ruby有很多想法都非常有意思,值得学习,比如块,以及彻底的Object Oriented(对于谁比谁更OO,从来都是争吵不断,比如Java比C++更OO,C#比Java又更OO,等等,往往引起论坛上一片腥风血雨。我这个也就是随便说说),迭代器。很多语言特性和Python相差不大,估计脚本语言做到一定程度多少都有些相似的,当然各有各的特点。然后又看了点源代码,终于明白为何Ruby的性能如此被人诟病:构造了AST以后,直接在AST上递归进行eval。而Python,Perl,Lua等都是编译为中间语言再交给虚拟机执行。如果能有一个JIT编译器(像.NET那样)就更牛了。Ruby传说中的2.0版本要引入虚拟机,YARV。不过那2.0遥遥无期,目前最新的stable是1.8.5,2.0据说要到08奥运那会了。
Ruby的源代码还充分体现了拿来主义的精神,能重用的决不自己写:比如Hash表就用了一个通用的Hash表实现,正则表达式则使用了GNU的regex库,random是有名的MT19937(也是日本人写的)。尝试了一下编译,在mingw上执行标准三部曲:./configure,make,make install,一切OK。