写点什么

Rubinius 2.0 发布,实现了 Ruby 2.1

  • 2013-10-14
  • 本文字数:1224 字

    阅读完需:约 4 分钟

Rubinius 团队刚刚宣布, Rubinius 2.0 发布。Rubinius 的上一个版本(1.2.4)已经发布两年多了,支持 Ruby 1.8.7。其后,Ruby 1.8 被弃用,Ruby 开发人员强烈要求从 1.9 升级到 2.0。

按照计划,Rubinius 2.0 完全支持即将到来的 Ruby 2.1,其发行公告中有如下说明:

在 2.0 中,Rubinius 重新恢复了对 Ruby 未来版本的重点支持。Rubinius 2.0 预期兼容 Ruby 2.1。而 MRI 尚未发布 Ruby 2.1,Rubinius 只能随其更多特性的最终完成而不断改善自身的兼容性。

从今往后,Rubinius 的版本发布周期将大大缩短。新版本计划每周发布一次:

我们转而采用这一发布过程是为了把更新尽快地传递到开发人员手中。不管我们做了多少工作,总有更多的工作要做。一个新版本看上去似乎永远不会完成。每个版本都要经历痛苦的纠正过程。因此,我们遵从了下面的建议,“如果某件事是痛苦的,那么把它推到前面,并通过工作来减少疼痛。” Rubinius 2.0 对 Ruby 2.1 的兼容可能会有 Bug。[……]

我们的目标是,从 3.0 开始构建 Rubinius 内核的语义版本。在从 2.x 向 3.0 过渡的过程中,在引入破坏性更改时,我们会非常小心,但如果那样做的好处超过风险,我们就会去做。

Rubinius 2.0 在多线程支持方面取得了很大的进展。它带来了一个虚拟机,用于运行由编译器生成的字节码。它还实现了一个即时(JIT)编译器,以获得更快的速度(目前速度提升了 2 到 4 倍,但他们希望进一步提高)。因为 Rubinius 不受全局解释器锁(GIL)的限制,而且实现了原生线程,所以 Ruby 代码能够利用多个内核和 CPU。这也有利于垃圾收集器,它可以部分地运行,而且可以与正在执行的代码并行。关于这一点,Rubinius 的 Brian Shirai 在接受Jesse Storimer 采访时详细描述了更多的细节。

InfoQ 获得了与 Brian 谈论这一新版本的机会。Rubinius 2.0 承诺兼容 Ruby 2.1,而后者尚未最终完成。你们已经实现了 Ruby 2.1 的哪些内容?

我们正设法跟踪 MRI 为推出 MRI 2.1 所进行的开发工作。MRI 团队已经多次承诺,Rubinius 2.0 本质上向后兼容 2.0 和 2.1。我们大量翻阅了 2.0 的规范,从中基本上可以看出,与 1.9 相比,2.0 的行为没有发生很大的改变,但也有若干行为发生了变化的情况。

简而言之,我们打算在 2.1 发布的时候尽可能多地支持 2.1。在此期间,如果有严重的冲突,我们将继续 2.0 的行为,直到 2.1 发布。

InfoQ:Rubinius 2.0 支持 Windows 吗?

Windows 肯定在我们想要支持的清单上。但是,我们需要先看看,如果有人迫切需要这种支持,我们才会对此投入稀缺的资源。

InfoQ:现有应用程序和框架可以很好地与 Rubinius 一起工作吗?例如,Rails 4 能够运行在 Rubinius 上吗?

关于 Rails 4,有一句广为人知的话,它“喜欢”Ruby 2.0。我们预计 Rails 4 能够在 Rubinius 上运行。如果不能,那很可能是 Rubinius 的 Bug(但也可能是 Rails 的 Bug)。

Rubinius 2.0 可以从 rubini.us 上下载。我们很乐意听到开发人员的使用体验!

查看英文原文:**** Rubinius 2.0 Release Implements Ruby 2.1

2013-10-14 08:451789
用户头像

发布了 256 篇内容, 共 84.4 次阅读, 收获喜欢 12 次。

关注

评论

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

JS词法环境和执行上下文

hellocoder2029

JavaScript

UIE Slim满足工业应用场景,解决推理部署耗时问题,提升效能

汀丶人工智能

BH1750 光照传感器文档详解 及 驱动设计

矜辰所致

传感器 stm32 I2C协议 10月月更 BH1750

细说JavaScript闭包

hellocoder2029

JavaScript

MySQL十种锁,一篇文章带你全解析

一灯架构

Java 10月月更

北京培训java开发的机构比较好

小谷哥

“程”风破浪的开发者|Lombok的使用

楠羽

学习方法 lombok “程”风破浪的开发者

golang中的map

六月的

Go map

突破单点瓶颈、挑战海量离线任务,Apache Dolphinscheduler在生鲜电商领域的落地实践

Apache DolphinScheduler

海豚调度 Apache DolphinScheduler 大数据调度 数据调度 企业号十月 PK 榜

Plan Stitch:一种使用缝合物理计划解决查询计划性能退化问题的方法

KaiwuDB

2022年上海前端培训开发技术就业前景如何

小谷哥

前端培训学习后的就业方向哪个比较好

小谷哥

解决 error: failed to push some refs to 'https://github.com/

timerring

git bug 10月月更

原来Vue3的computed属性还能这么用啊🔥

渔戈

Vue 前端 10月月更

一文详解MySQL事务底层原理,全是干货,推荐收藏

一灯架构

Java 10月月更

ES6 Promise、Generator与async简单介绍与应用

木偶

前端 ES6 异步 10月月更

阿里巴巴 Noslate 正式开源 - 面向云原生的 JavaScript 容器方案

阿里巴巴终端技术

JavaScript 开源 云原生 前端 企业号十月PK榜

【10.14-10.21】写作社区优秀技术博文更新啦!

InfoQ写作社区官方

优质创作周报

Spring Boot 应用使用 application.yml 和 application.properties 的区别

汪子熙

Java mvc spring 后端开发 10月月更

大数据开发学习周期是多久

小谷哥

Paddlenlp之UIE模型实战实体抽取任务【打车数据、快递单】

汀丶人工智能

nlp

鸿蒙开发入门 | 开发第一个鸿蒙应用+页面跳转

TiAmo

华为 鸿蒙开发 10月月更

Mysql数据库基础之数据库的安装与配置

渔戈

MySQL 数据库 10月月更

如何让研发成员在会议上知无不言?

LigaAI

项目管理 敏捷开发 会议管理 迭代管理 企业号十月PK榜

【云舟说直播间】数字可视化专场来袭

浪潮云

云计算

低代码开发平台盘点,让你的开发告别低效

SoFlu软件机器人

企业级开发平台的演进

世开 Coding

软件开发 低代码 快速开发平台 少代码

“程”风破浪的开发者|OpenHarmony应用开发环境搭建

技能实验室

OpenHarmony “程”风破浪的开发者

软件测试 | 测试开发 | 使用 Zabbix + Grafana 搭建服务器监控系统

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

测试

新来个技术总监,仅花2小时,撸出一个多线程永动任务,看完直接跪了,真牛逼!

程序知音

Java 架构 多线程 多线程与高并发 后端技术

java线下培训机构哪里比较好

小谷哥

Rubinius 2.0发布,实现了Ruby 2.1_Ruby_Mirko Stocker_InfoQ精选文章