写点什么

关注:Ruby 1.9 版本即将发布

  • 2007-12-05
  • 本文字数:1713 字

    阅读完需:约 6 分钟

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 相辅相成,朝着开发者所期待的方向,不停歇的迈进脚步。

2007-12-05 03:58998
用户头像

发布了 74 篇内容, 共 12.8 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

如何 1 天快速集成自己的“Clubhouse”?

融云 RongCloud

音视频 clubhouse 语音社交 融云

【STM32】EXTI---外部中断/事件控制器

AXYZdong

硬件 stm32 2月春节不断更

阿里云大佬爆裂推荐“redis全新手册”,内容即精华

比伯

Java redis 程序员 架构 程序人生

字幕组时代落幕,翻译的未来可能是?

字节跳动技术团队

哲少荐书:鞋狗

Jackey

书籍推荐

华为云FusionInsight MRS在金融行业存算分离的实践

华为云开发者联盟

大数据 金融 华为云 存算分离 FusionInsight MRS

区块链挖矿系统APP开发|区块链挖矿软件开发(现成)

v16629866266

14. Python 与数据库那点事儿,滚雪球学 Python

梦想橡皮擦

python 爬虫 2月春节不断更

技术实践 | 新思路!解决线上系统异常问题

百度开发者中心

算法从有序数组中移除重复的数据,AI学习资源2020 John 易筋 ARTS 打卡 Week 38

John(易筋)

ARTS 打卡计划 ai youbute学习资源

日记 2021年2月18日(周四)

Changing Lin

2月春节不断更

一维数组的动态和

小马哥

算法

端口隔离和VLAN的区别

第 4 周作业

老元宵

厉害了!这群95后正在用三维成像技术让科幻变成现实

华为云开发者联盟

视频 华为云 三维 裸眼 光学

山东党建系统!组织部智慧管理平台搭建

源中瑞-龙先生

智慧党建 组织部 山东

Elasticsearch mapping 复杂数据类型

escray

elastic 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

ElasticSearch.04 - 基础操作

insight

elasticsearch 2月春节不断更

【LeetCode】重塑矩阵Java题解

Albert

算法 LeetCode 2月春节不断更

LeetCode题解:1091. 二进制矩阵中的最短路径,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

用例文档

三生赤水

2021新年最新分享:阿里Java岗5轮技术面经整理

比伯

Java 编程 架构 面试 程序人生

新闻|2021 FOSDEM为期两天的活动成功举办,一大波学习资源来袭!

PostgreSQLChina

数据库 postgresql 软件 开源社区

3.Fiber(我是在内存中的dom)

全栈潇晨

React React Hooks react源码

面试的季节到了,老哥确定不来复习下数据结构吗

Silently9527

面试 数据结构与算法

话题讨论 | 如何使用“网站SEO”,让网站排在最前面?

我是哪吒

大前端 后端 话题讨论 SEO 2月春节不断更

心理声学基础

行者AI

心理 音乐

什么是阻抗?

不脱发的程序猿

阻抗 电路设计 电子元器件

Java中多线程启动,为什么调用的是start方法,而不是run方法?

Java 编程 架构

【函数计算实践】nodejs初探示例——本地mac环境

程序员架构进阶

架构 nodejs 函数计算 七日更 2月春节不断更

门诊数字化:患者信息识别方式

boshi

医疗 数字化基础 七日更

关注:Ruby 1.9版本即将发布_Ruby_高昂_InfoQ精选文章