关于Rubinius的一些有趣的地方
井镜
2023-12-01
从[url=http://code.fallingsnow.net/svn/rubinius/trunk/]svn的代码库中[/url],看了readme文件,发现了一些非常有趣的事情,如果都实现的话,那这个版本的虚拟机,可是非常地好玩啊。
现罗列如下:
[code]从Smallltalk-80 'Blue book'设计规范获得了灵感,要提供一个功能丰富的、高性能的Ruby代码运行VM;
使用Ansi C 和 Ruby混合编写,所以目前的代码如果要编译的话,必须要有gcc4.X和Ruby 1.8.x,使用Rake来自动编译。Ruby还必须安装ParseTree/Rake/Sydparse这几个gems;
Rubinius目前使用C来自举(bootstrap the system)。在将来,会使用一个Ruby的方言版本“cuby”来生成C代码。这是一种历史悠久的技术,被Squeak/Smalltalk,还有Burronghs系统中的Algol语言(在电影《Tron》中看到过:-)广泛使用;
目前的编译器/汇编器/bytecode生成器,都是用Ruby写的;
线程安全(Thread safety);
简洁、易读的代码,容易理解和扩充;
引入一些最新的技术到虚拟机里,比如把垃圾收集(GC)和代码优化(code optimizers)都做成插件的形式提供[/code]
Tron是1982年迪士尼拍的一部科幻电影,[url=http://www.douban.com/subject/1293482/?interest=wish]中文介绍[/url];[url=http://imdb.com/title/tt0084827/]英文介绍[/url]。延伸阅读[url=http://www.thinknext.net/archives/1754]《幻想世界中的 Top 10 电脑》[/url]。