写点什么

Ruby 实现的近况:Ruby 规范, 新的设计会议, Rubinius 使用 C++

  • 2008-05-05
  • 本文字数:1152 字

    阅读完需:约 4 分钟

许多开发者正在致力于各种 Ruby 运行时的开发,比如 Ruby 1.8.x、Ruby 1.9.x、Rubinius、JRuby、IronRuby,以及其他 Ruby 实现。为了协调它们的兼容性和未来的 Ruby 平台,召开了 Ruby 设计会议

第一次设计会议是在 4 月 21 日召开的(查看第一次 Ruby 设计会议的 IRC 记录)。讨论的主题包括:

下一次设计会议定在 4 月 30 日——查看 Ruby Design Wiki 来获得下次 Ruby 设计会议的日程和细节
Ruby 规范的工作同样也是两个 Ruby Google Summer of Code (GSoC) 2008 项目的主题:

Rubinius项目着重强调了RubySpec。其开发者花了大量的时间写出了可执行的 Ruby 规范。Rubinius 最新的进展是 Evan Phoenix 把内核VM (称为“shotgun”)从 C 移植到了 C++。需要提醒的是,虽然 Rubinius 的目标是(几乎全部)用 Ruby 来写一个 Ruby 实现,但是核心 VM 还是用 C——现在是 C++ 来写的。除了这个用 C++ 写的 VM, Evan Phoenix 还解释了 Rubinius 团队为什么要坚持“Ruby in Ruby”理念

现在,Rubinius 大约有 150 人拥有贡献权。他们绝大部分工作都是和内核相关的,因为内核是整个系统中最大的部分。其 中大约有 95% 的工作是写 Ruby 代码。这意味着对于几乎所有的贡献者来说,为 Rubinius 工作就是写 Ruby 代码。于是对他们来说,这就是 Ruby in Ruby。

Brian Ford,也是 Rubinius 项目中的一员,提供了更多的信息

在新的 C++ VM(大体上已完成了)中,我们有 12,619 行 C++ 代码。而在内核目录中,我们有 23,882 行——没错——Ruby 代码。
[…]
C VM (称为 shotgun) 并不是我们最终的目标,下一代的 C++ VM 也不是。他们只是迈向更高目标过程中的实用步骤。明确地说,我们目前还没有用 C 实现大量的内核方法。最近我完成了两份重写的工作,引入了许多基元 (primitive:直接访问 VM 的 C 代码段)。其中一份工作是查找表(LookupTable),由于在 VM 中大量使用,所以它是用 C 写的。而且 Ruby 代码也可以使用它,因为我们用 Ruby 写了很多东西,比如与方法相关的东西以及常量查找。查找表用起来很像一个哈希,而把它与哈希区分开会令哈希 更加单纯,甚至可以让更多的哈希都用 Ruby 来写。

注意:Evan 和 Brian 的博客文章都回应了由JRuby 的Charles Nutter 所写一篇文章,文中包括他关于Rubinius 的“Ruby in Ruby”理念的争论。

查看原文: Ruby Implementations Roundup: Ruby Spec, New Design Meetings, Rubinius uses C++

2008-05-05 01:48877
用户头像

发布了 33 篇内容, 共 51637 次阅读, 收获喜欢 0 次。

关注

评论

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

揭秘AI黑科技:如何一键生成完美架构图?

测试人

软件测试 测试开发

即构 UIKits 重磅发布!高效开发与自定义UI兼备,打造互动场景新标杆

ZEGO即构

UI组件库 直播间 互动场景 即构UIkits 全面开源

如何利用 NFTScan NFT API 在 Bitcoin 网络上开发 Web3 应用

NFT Research

NFT NFTScan

惠普随身电脑管家“AI小惠”首次亮相,智谱AI赋能启动大模型智慧战力

Geek_2d6073

集成式情景规划的场景管理思维方式

智达方通

企业管理 全面预算管理 情景规划 财务规划

Microsoft Office 2019安装包下载 飞跃升级,智慧办公!

Rose

揭秘AI黑科技:如何一键生成完美架构图?

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

测试

MySQL全文索引源码剖析之Insert语句执行过程

华为云开发者联盟

MySQL 数据库 华为云 华为云开发者联盟 企业号2024年5月PK榜

TG Pro:实时监控Mac电脑的核心温度、风扇转速、传感器数据等

Rose

【等保】河南企业等保二级备案流程看这里!

行云管家

网络安全 信息安全 等保备案 等保二级 河南

软件测试学习笔记丨Docker搭建Testlink

测试人

Docker 软件测试 自动化测试 测试开发 testlink

win版DaVinci Resolve Studio18(达芬奇调色剪辑)中文版

iMac小白

达芬奇软件

MES与ERP强强联手

万界星空科技

数字化 ERP mes 万界星空科技 生产管理

年薪百万的程序员都在用的摸鱼方式……

禅道项目管理

程序员 软件测试 软件开发 自动化部署 年薪百万

什么样的产品算是好产品?

敏捷开发

项目管理 产品经理 产品设计 敏捷开发 需求分析

Percona Toolkit 神器全攻略

GreatSQL

微软远程Microsoft Remote Desktop直装版 及使用教程分享

Rose

淘宝/天猫商品描述API接口(taobao.item_get_desc)返回值解读

技术冰糖葫芦

API Explorer API 接口 API 文档 API 性能测试

漯河市等保测评机构有哪些?怎么过等保?

行云管家

信息安全 等保 等保测评 漯河

【论文速读】|探索ChatGPT在软件安全应用中的局限性

云起无垠

Rhinoceros 8 (犀牛8) v8.7.2激活版

iMac小白

Rhinoceros 8下载 Rhinoceros 8 破解版 Rhinoceros 8激活版

软件测试学习笔记丨显示等待高级使用

测试人

软件测试

人工智能帮你一键生成完美架构图

霍格沃兹测试开发学社

事业-最佳实践-架构-整体架构设计模版

南山

架构 架构设计 架构设计模版

智能工厂规划的关键要素

万界星空科技

数字化转型 智能工厂 智能制造 mes 万界星空科技

Ruby实现的近况:Ruby规范, 新的设计会议, Rubinius使用C++_Ruby_Werner Schuster_InfoQ精选文章