写点什么

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

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

关注

评论

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

Python OpenCV 轮廓检测与轮廓特征,加图像金字塔知识补充一点点

梦想橡皮擦

Python 7月日更

架构实战营模块 3 课后作业

hello

架构师实战营

怎么在Guitar Pro乐谱中加入哇音

懒得勤快

TensorFlow 2 quickstart for experts

毛显新

tensorflow

聊聊百度搜索背后的故事

程序员鱼皮

Java 搜索引擎 数据结构 算法 后端

架构实战营模块三作业

袁小芬

来也科技:RPA+AI的赋能者和布道者

海比研究院

4问教你搞定java中的ThreadLocal

华为云开发者联盟

Java 线程 多线程 ThreadLocal 变量

Go语言:RESTful API 服务,急速入门

微客鸟窝

Go 语言

云图说|云上应用监控神器——应用性能监控APM2.0

华为云开发者联盟

APM 华为云 云图说 应用性能管理 应用监控

就想搞明白,component-scan 是怎么把Bean都注册到Spring容器的!

小傅哥

Java spring 小傅哥 bean注册

架构实战营模块四作业

老猎人

架构实战营

手写基数排序算法

实力程序员

程序员 C语言 排序算法

stack overflow 问题分类

毛显新

tensorflow

架构实战营 模块三作业

孫影

架构实战营 #架构实战营

Java实战:教你如何进行数据库分库分表

华为云开发者联盟

Java 数据库 分布式 分库 分表

我花了 24 天使用 C++ 从零实现了一个解释器

lmymirror

interpreter compiler

没怎么写过 Java 的遗憾

escray

学习 极客时间 朱赟的技术管理课 7月日更

汽车燃料效率预测

毛显新

tensorflow

架构实战营 - 模块三作业: 架构文档

Julian Chu

架构实战营

架构训练营-学生管理系统详细架构文档

sophiahuxh

架构实战营 模块三 作业

脉醉

#架构实战营

从源码角度详解Java的Callable接口

华为云开发者联盟

Java ide jdk Callable Callable接口

机器学习- 吴恩达Andrew Ng Coursera学习总结合集 John 易筋 ARTS 打卡 Week 57

John(易筋)

ARTS 打卡计划

第三届WICC圆满结束 融云打造技术与生态平台推动产业发展

融云 RongCloud

带你了解弯曲文本检测算法的两种思路:区域重组和像素分割

华为云开发者联盟

文字 目标检测算法 文本检测 区域重组 像素分割

拨云开雾!阿里面试官力荐Java开发必看的操作系统底层原理PDF

Java架构追梦

Java 阿里巴巴 架构 面试 操作系统

takin(全链路压测)快速安装-mac图文版

国隆

大数据 性能压测 生产环境全链路压测 takin 探针

如何实现支持百亿级文件的分布式文件存储

焱融科技

云计算 云原生 高性能 分布式存储 海量存储

根据译文片段预测翻译作者

毛显新

tensorflow

LeetCode题解:456. 132 模式,n平方暴力,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

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