Posted on 2006-09-24 14:50
chenger 閱讀(415)
評論(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。