QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

关注: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:58964
用户头像

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

关注

评论

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

一文搞懂RESTful API

bigsai

RESTful Rest

话题讨论 | 那些年奇葩的面试经历

三号无名指

话题讨论

史上最实用的Android切片应用库XAOP使用指南

android 开源 aop 框架

技术博客,从零到数万访问,这两年我都做了什么

android 博客 经验分享

如何在高速发展中等一等老人 银行数字化服务显温度

CECBC

银行 养老服务

史上最好用的Android全量版本更新库XUpdate使用指南

android UI 框架开发 xupdate

【硬件篇之电源纹波噪声测试】

良知犹存

硬件

第十一周课后练习

饭桶

详解TCP IP网络协议栈底层原理到徒手实现

赖猫

c++ Linux 编程 程序 网络协议栈

我是因为这个才选择当程序员的,那么你呢?

Java架构师迁哥

架构词典:SLA

lidaobing

架构 SLA

Flutter Plugin插件开发填坑指南

flutter 经验分享

通用软件快速开发平台对企业信息化的影响

雯雯写代码

软件 快速开发 企业信息化

架构师训练营第 1 期 - 第十一周作业

Todd-Lee

极客大学架构师训练营

开源软件联盟PostgreSQL分会投稿指南

PostgreSQLChina

数据库 postgresql 软件 投稿

深入理解Git的实现原理

程序员小灰

c++ git Linux 项目管理 架构师

为什么说区块链完全去中心化做不到且没有意义

CECBC

区块链 去中心化

网络入门模拟器:Cisco Packet Tracer

架构师训练营第12周作业

邓昀垚

史上最全的开源项目创作指南

开源 经验分享

roblox 杂记

katichar

腾讯云区块链总经理李力:产业区块链的四大发展趋势

CECBC

区块链 大数据

Java对IPv6的支持详解:支持情况、相关API、演示代码等

JackJiang

Java 网络编程 ipv6 ipv4

如何利用小熊派获取MPU6050六轴原始数据

华为云开发者联盟

物联网 IoT 小熊派

架構師訓練營第 1 期 - 第 11 周作業

Panda

架構師訓練營第 1 期

Reactor线程模型浅析

赖猫

c++ Linux 编程 reactor 编程语言

Gemini双子新约软件系统开发|Gemini双子新约APP开发

系统开发

第11周学习总结

饭桶

移动端技术方案设计的经验总结

张明云

android 架构 移动应用 架构师 技术方案

史上最优美的Android原生UI框架XUI使用指南

android UI 框架开发

default-servlet-handler不生效原因,springmvc静态资源拦截方案比较

叫练

springmvc 静态资源拦截 default-servlet-handler 资源配置不生效

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