写点什么

Ruby VM 近况:Ruby 1.9.1 第一预览版发布,Rubinius 向 C++ VM 迁移

  • 2008-10-30
  • 本文字数:743 字

    阅读完需:约 2 分钟

Ruby 1.9.1 的第一预览版已经发布(下载站点)。在发布记录写到:

28 Oct, 2008: Ruby 1.9.1-preview1
* 语言特性基本上已经冻结。
* 然而大部分的标准库需要为多语言化(multilingualization,简称 m17n)做出更多的修改。

发布记录还写到,2008 年 12 月 25 日将发布 RC 版本,接下来 2009 年 1 月 25 日将发布最终的 1.9.1。

InfoQ曾经报道过 1.9.1 的修改。其中一项最近的语言修改涉及到了 lambda。一个由 Eric Mahunin 提交的补丁现在可以允允许 lambda 的参数带有默认值。在 Changelog 中写到:

parse.y (f_block_optarg): 允许默认的 block 参数,其取值将作为初值。此补丁由 Eric Mahurin 提交 [ruby-core:16880]。

另外一个广为争议的议题是“stabby lambda”,例如,用“->”来表示lambda,这是 1.9 引入的。尽管有些人认为应该将其移除,它还是保留在语言当中。

Dave Thomas(PragDave)提到,斧头书的第三版已经完成(覆盖了 1.9.x),将在最终的 1.9.1 发布前后发行。

Rubinius 项目的开发达到了另一个里程碑。Rubinius 的创始人 Evan Phoenix 说道

我非常高兴地宣布,我们的 C++ 分支已经足够的稳定,我们已经将其作为默认分支了。[…] 我们做了如下的事情:
* 旧有的 master 分支重命名为 shotgun。
* cpp 迁移到 master 分支。
* 将 cpp 分支删除。

C++ 分支是采用 C++ 重写 VM,而之前的“shotgun” VM 则是用 C 写成。新的 C++ VM 有:

更好的组织形式。在构建上一个 VM 之时,在关于如何组织的问题上,我们学到了很多经验。例如,使用 C++ 可以让我们将 Ruby 类建模为 C++ 类,使得 VM 和其 Ruby 所对应的部分拥有几乎相同的结构和执行方式。[…] 更好的测试。很惭愧的说,旧版 VM 根本没有单元测试。在新的 VM 中,我们已经编写了单元测试和集成测试。

Rubinius 的代码库目前托管在 Github 之上。

2008-10-30 06:571533
用户头像

发布了 80 篇内容, 共 23.5 次阅读, 收获喜欢 5 次。

关注

评论

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

Kafka Kraft核心实现

Clarke

企业级低代码服务编排库 - Commander

Meta-Soft

服务编排 低代码平台 服务组合

微服务架构趋势下如何处理存量系统

Meta-Soft

微服务 servicemesh 边车模式

训练营作业-Module_1

Jadedev

架构实战营

Altium Designer

謓泽

3月月更

一个编译问题带你了解 Flutter Web 的打包构建和分包实现

CRMEB

不想业务被中断?快来解锁华为云RDS for MySQL新特性

华为云开发者联盟

MySQL 事务 华为云RDS for MySQL 应用无损透明 业务中断

架构师作业1

小虾米

黄金排障场景之Coredump

焦振清

稳定性 稳定性治理 coredump 故障复盘 90-2-5-10

#JiraHero:Soumen Deb——重塑 Jira Software 中的 Bug 工作流,提高可见性、简化开发流程

Atlassian

DevOps 敏捷 工作流 Atlassian Jira

Mysql的explain,你真的会用吗?

慕枫技术笔记

数据库 3月月更

模块一:作业

本人法海

「架构实战营」

该怎么认识数字藏品

CECBC

加密项目必修科目:代币经济学

CECBC

数字经济的重要基石——数据安全

CECBC

特性更新!DistSQL 集群治理能力详解

SphereEx

Apache 数据库 ShardingSphere SphereEx

高并发场景下优化加锁方式:线程等待与通知机制

华为云开发者联盟

线程 高并发 死锁 加锁 互斥锁

写作一

ASCE

并发与多线程之线程安全篇

Linux服务器开发

线程 多线程 并发 后端开发 Linux后台开发

NFT数字藏品NFT交易系统平台开发

薇電13242772558

NFT

浏览器辅助神器:油猴脚本使用教程

源字节1号

前端开发 后端开发 技术分享 网站开发

运维自动化发展的4个阶段

穿过生命散发芬芳

3月月更

C语言总结_格式化打印函数、字符串、运算符

DS小龙哥

3月月更

Mac 和 Windows 共享一套鼠标键盘

TroyLiu

效率 Mac windows sharemouse 共享键鼠

手绘流程图讲解spark是如何实现集群的高可用

华为云开发者联盟

spark 高可用 集群 Worker master

测试开发【Mock平台】03 基础:初识Antd React 开箱即用中台前端框架

MegaQi

React 测试平台开发教程 测试干货

3分钟带你搞懂Vue双向绑定原理及问题剖析

Bug终结者

CSS JavaScript vue.js

模拟小程序电商的微服务拆分

AragornYang

架构训练营 架构实战营

Prometheus搭乘华为云GaussDB(for Influx):让监控数据更安全

华为云开发者联盟

安全 Prometheus 华为云 GaussDB(for Influx) 监控数据

【架构学习06】——拆分电商系统为微服务

tiger

架构实战营

Ruby VM近况:Ruby 1.9.1第一预览版发布,Rubinius向C++ VM迁移_Ruby_Werner Schuster_InfoQ精选文章