HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

区分List中 remove(index)/remove(Object)

Joseph295

Mac高质量图像浏览处理:GraphicConverter 12中文版

理理

图片浏览软件Mac版 GraphicConverter 12 GraphicConverter中文版

Go 语言切片是如何扩容的?

AlwaysBeta

Go 源码 面试题 切片

如何为基于规格说明的测试创建可跟踪性矩阵

测吧(北京)科技有限公司

测试

【异常解决】postman请求提示Full authentication is required to access this resource

No8g攻城狮

测试 Postman

JS引擎(0):JavaScript引擎群雄演义—起底JavaScript引擎

zhoulujun

JavaScript mocha JavaScript引擎 SpiderMonkey Nashorn

5分钟搞懂5G安全增强

俞凡

5G 安全 网络 通信

Infuse for Mac(多媒体播放器)v7.5.1激活版

理理

Infuse下载 苹果视频播放器 Mac版Infuse下载 Infuse 中文

post-css/less/sass样式嵌套与命令之"&"符号—BEM

zhoulujun

less SASS bem post-css

浏览器史话中chrome霸主地位的奠定与国产浏览器的割据混战

zhoulujun

chrome 浏览器霸主 国产浏览器

浏览器层面优化前端性能(2):Reader引擎线程与模块分析优化点

zhoulujun

前端性能 Reader引擎线程

不要强求100%的自动化

测吧(北京)科技有限公司

测试

Cornerstone for Mac(最好用的SVN管理工具) v4.2永久激活版

Rose

mac软件下载 SVN客户端 cornerstone 4破解 Cornerstone mac版

软件测试捕获回放失败

测吧(北京)科技有限公司

测试

Vue3 Transition 踩坑记

Immerse

踩坑 Vue 踩坑经历 vue cli VUE 3.0 源码解析

SQLChat 的 RBAC 之旅

天黑黑

AI sql 数据库· ChatGPT

css过去及未来展望—分析css演进及排版布局的考量

zhoulujun

CSS

chrome对页面重绘和回流以及优化进行优化

zhoulujun

chrome 重绘 回流

差的自动化测试的问题是没有人注意

测吧(北京)科技有限公司

测试

深度学习基础入门篇[三]:优化策略梯度下降算法:SGD、MBGD、Momentum、Adam、AdamW

汀丶人工智能

人工智能 机器学习 深度学习 梯度下降算法

sketch文件导出没有背景色怎么办? sketch背景色消失的解决办法

Rose

sketch Mac Sketch下载 sketch无背景

JetBrains AppCode 2023 for Mac(高效iOS代码编写工具) v2023.1中文特别版

理理

AppCode 2023 AppCode中文 AppCode 2023破解 Mac版iOS开发

AICopy探狐文案 for Mac(写作笔记改写和论文翻译查重)中文版

理理

论文撰写 AICopy探狐文案 论文查重 Mac写作笔记软件

【Spring专题】「技术原理」从源码角度去深入分析关于Spring的异常处理ExceptionHandler的实现原理

洛神灬殇

spring 源码分析 4月日更 ExceptionHandler 异常处理器

推荐算法在商城系统实践

越长大越悲伤

推荐系统 推荐算法 #java

性能最快的代码分析工具,Ruff 正在席卷 Python 圈!

Python猫

Python

Mac 触控增强神器BetterTouchTool详细图文使用教程

Rose

苹果电脑 BetterTouchTool破解 BetterTouchTool教程 Mac 触控板

保持住你写代码的姿势,你就是黑带了

Bruce Talk

敏捷开发 TDD Agile

在报告原型或早期个人版本的程序错误之前,要先征得同意

测吧(北京)科技有限公司

测试

JS引擎(1):JS引擎擂台赛,JavaScript引擎的特征比较及术语科普

zhoulujun

JavaScript JavaScript引擎 引擎擂台赛

QEMU线程模型

Linux内核拾遗

线程模型 Linux Kenel 虚拟化 qemu kvm

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