写点什么

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:571226
用户头像

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

关注

评论

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

Hyperledger Cactus(一):架构初探

神奇视野

CVE-2022-22965 漏洞分析

科技怪咖

软件测试 | 测试开发 | 如何利用 xUnit 框架对测试用例进行维护?

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

软件测试

java远程连接ssh的实现

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

Java、

软件测试 | 测试开发 | Monkey基本参数介绍

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

软件测试、

华为终端全面上新,做全场景智慧体验时代的引领者

ToB行业头条

安卓应用及鸿蒙应用安全检测指南

科技怪咖

【Django | 开发】分离上线环境与开发环境(多settings配置)

计算机魔术师

8月月更

提质增效两不误,揭秘大型软件团队「价值增长飞轮」|直播回顾

万事ONES

数字货币永续合约交易所app系统开发

开发微hkkf5566

荣耀智慧服务百亿曝光扶持计划,具体申请规范来了!

荣耀开发者服务平台

卡片服务 荣耀 honor

阿里云基于全新 RocketMQ 5.0 内核的落地实践

阿里巴巴云原生

阿里云 RocketMQ 云原生

加密数字艺术背后你关心的几个问题

神奇视野

严禁外传,字节跳动2022秋招Java岗位架构师面试题(暂定版)发布

钟奕礼

Java 编程 程序员 后端 java面试

软件测试 | 测试开发 | 智能音箱语音交互系统简介与测试初探

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

软件测试、

华为云数字资产链,构建新型数字经济价值

神奇视野

软件测试 | 测试开发 | 如何用Sonic云真机打王者

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

测试 scrcpy

【刷题之路 | Java & Python】两数之和(暴力枚举&哈希表)

计算机魔术师

8月月更

深度干货!一篇Paper带您读懂HTAP | StoneDB学术分享会第①期

StoneDB

MySQL HTAP StoneDB 企业号九月金秋榜 实时数据库

[译]为什么程序员不应该长期留在一家公司

宇宙之一粟

成长 跳槽 8月月更

【Django | 安全防护】CSRF跨站伪请求和SQL注入攻击

计算机魔术师

8月月更

设计模式的艺术 第二十三章状态设计模式练习(设计一款纸牌游戏软件,该游戏中用户角色具有入门级、熟练级、高手级和骨灰级4种等级。角色等级与积分对应,胜利增加积分,失败扣除积分。入门级有最基本的游戏功能,熟练级增加胜利积分加倍功能,高手级再增加换牌功能)

代廉洁

设计模式的艺术

解决方案|电力行业应如何应对数字化转型危机

云智慧AIOps社区

安全 监控 解决方案 智能运维AIOps 故障处理

测试左移之Sonarqube scanner使用

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

软件测试 SonarQube

软件测试 | 测试开发 | HttpRunner初体验

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

HttpRunner

基于 GitHub 的数据库 CI/CD 最佳实践

Bytebase

GitHub cicd Github Actions SQL审批

如何用VSS一键自动化扫描软件包/固件,快速排查安全风险

科技怪咖

CWE 4.7中的新视图 -- 工业控制系统的安全漏洞类别

科技怪咖

提速 10 倍!深度解读字节跳动新型云原生 Spark History Server

字节跳动数据平台

数据库 spark 数据存储 湖仓一体 数据计算

共识算法入门

神奇视野

软件测试 | 测试开发 | App自动化之dom结构和元素定位方式(包含滑动列表定位)

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

DOM 自动化测试

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