Ruby 的下一个重大版本 Ruby 1.9 已经整装待发,新版本预计将在08 年元旦到来之前发布。目前,一份关于Ruby 1.9 版本的更新记录详尽的列出了1.9 版本在语言特性方面的完善。这份列表在接近四万行的Ruby 1.9 更新记录之中凝练而出,为即将转向Ruby 1.9 的开发者提供了最佳的实践参考。尽管Ruby 1.9 给出了诸多的改进,但仍旧不能完全代表未来Ruby 2.0 版本发布时的模样。在Ruby 的SVN 存储库的HEAD 版本之中,Ruby 开发团队正在不断尝试一些新奇的改进和完善。
Ruby 1.9 的新特性一经公布就引起了 Ruby 开发者们的关注。在同样来自于 InfoQ 的一篇新闻中,曾谈到Ruby 1.9 加入纤程(Fiber)后实现轻量级并发的相关特性。不仅如此,Ruby 1.9 版本让开发者们最为激动的改进,来自对Ruby 语言编译器性能的大幅度提升。
Antonio Cangiano 在一份关于各种 Ruby 实现的性能对比报告中,对不同版本 Ruby 实现进行了性能测试与比较。在不同应用场景下,Antonio 分别对 Ruby 1.9 版本、Ruby 1.86 版本、以及 JRuby、XRuby、Ruby.Net、Rubinus 等 Ruby 实现的性能差异进行了测试。结论是,Ruby 1.9 在运行时间上要远远少于其他的版本,在效率和表现性上有了显著的提升。在性能测试的总结中,Antonio Cangiano 这样写到:
众所周知,Ruby 并不是一门解释执行速度非常高——尽管这并非是 Ruby 语言设计初衷——的程序设计语言,但对于 Ruby 语言来说,运行速度慢是其一个不可忽视的弱点,任何一处性能上的改进都会使得 Ruby 语言在现实世界中的应用越来越广泛。抛开性能表现方面的问题不谈,Ruby 动态语言的特性及其实现方式,的确为开发者带来了诸多的益处,比方说可以方便的将 Ruby 代码与 Java 或.Net 现有基础设施进行集成…如今,Ruby 的使用者可以自豪的宣布,Ruby 已经在性能提升方面做出了重大的改进,Ruby 社区的开发者将会一如既往的关注 Ruby 这门强大的编程语言。
有趣的是,Antonio Cangiano 不仅针对 Ruby 的各个版本实现进行了比较,他同样也进行了 Ruby 1.9.0 版本、Ruby 1.8.6 版本以及 Python 2.5.1 之间的性能对比测试。Antonio 在 Mac OS X 10.5 系统之下,使用斐波那契递归函数对三者的递归与函数调用进行了测试。同样的循环次数中,Ruby 1.8.6 用时 158.869 秒、Python 2.5.1 用时 31.507 秒,而 Ruby 1.9.0 仅用时 11.934 秒。Ruby 1.9 版本相对于 Python,性能的超越大致在三倍左右。尽管这样的测试并不能代表所有的性能指数,但从一个侧面来看,即将到来的新版 Ruby 1.9.0 的确是在程序解释运行方面有了巨大的性能提升。
在令人期待的十二月份,除了即将发布的 Ruby 1.9,Ruby 社区还将迎来新版 Rails 2.0 的发布。可以预计、随着新版 Ruby 与 Rails 的发布,Ruby 社区将会掀起新一轮的开发热潮。在新的编程语言使用广泛度排名中,Ruby 语言由去年底的排名第十二上升到排行第九名,位列在 Java、C、(Visual)Basic、C++、PHP、Perl、Python、C#之后,并且 Ruby 一直呈现强劲的增长势头,Ruby 语言独有的特性一直在不断吸引着开发者的加盟,正如在《Programming Ruby》一书的序言中,孟岩针对 Ruby 语言描述的那样:
Ruby 实现了最纯粹意义上的面向对象,让 Smalltalk、Perl 和 Lisp 的灵魂在新的躯壳里高歌。相比于 Python,Ruby 的思想更加清晰一致,形式更加灵活;相比于 Perl,Ruby 更简单质朴,绝少光怪陆离之举;相比于 Smalltalk 和 Lisp,Ruby 更富有现代感和实干气质;相比于庙堂之上的“工业语言”,Ruby 自由挥洒、轻快锐利;而相比于 JavaScript 和 PHP,Ruby 从 Smalltalk 继承而来的深厚底蕴又大占优势。面对执行性能与开发效率的谜题,Ruby 毫不犹豫地选择了开发效率,选择了对人脑的友好。Ruby 的基本思想非常简单淳朴,对于基本原则的坚持非常彻底,毫不打折扣,而在具体应用中又集各家所长,实现了巧妙的平衡。
如今,在充满热情和创造力的开发者社区的带动之下,Ruby 语言已经成为程序设计语言中发展最快的热门语言之一,扎实勤恳的开发者使用 Ruby 语言进行着孜孜不倦的实践和创新。同时,Ruby on Rails 的迅猛势头,无疑在极大程度上推动了 Ruby 语言的普及与使用,使得 Ruby 与 Rails 相辅相成,朝着开发者所期待的方向,不停歇的迈进脚步。
评论