HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

课程四

ASCE

redis优化系列(六)高可用集群Redis Cluster的认识

乌龟哥哥

4月月更

融云国产化适配排坑指南

融云 RongCloud

如果只有一周时间,怎么快速提升线上系统的稳定性?

Samson

运维 监控 技术管理 SRE 系统稳定性

灵感乍现!造了个与众不同的Dubbo注册中心扩展轮子

捉虫大师

Java dubbo 注册中心 4月月更

80+产品正通过兼容性测试,OpenHarmony生态蓬勃发展

OpenHarmony开发者

OpenHarmony

SqlServer主备构建探索

Lane

SqlServer

Amazon Aurora 读写能力扩展之 ShardingSphere-JDBC 篇

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

FL STUDIO20.9中文版汉化包注册激活教程

茶色酒

FL STUDIO20.9

Windows Edge 浏览器的有关 URL 链接的复制粘贴

HoneyMoose

Tomcat:网络请求原理分析

IT巅峰技术

OpenHarmony加速行业应用落地,多款软件发行版正在通过兼容性测评

OpenHarmony开发者

OpenHarmony

电商秒杀系统架构设计

李大虾

#架构实战营 「架构实战营」

OpenMLDB:线上线下一致的生产级特征计算平台

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

在线Excel转公式工具

入门小站

工具

[Day27]-[二叉树] 遍历

方勇(gopher)

LeetCode 算法和数据结构

Spring Data Elasticsearch 使用示例

Java elasticsearch 4月月更

己酉篇 「反元富民」《「內元宇宙」聯載》

因田木

元宇宙

APICloud数据云3.0使用教程

YonBuilder低代码开发平台

后端开发 APP开发 APICloud 数据云

丁未篇 「元宇宙超次元 」 《「內元宇宙」聯載》

因田木

Web3.0 命書

C语言总结_语句、运算符

DS小龙哥

4月月更

企业知识库建立的目的及意义

小炮

知识库

替代 Elasticsearch,TDengine 助力四维图新将存储空间利用率提升 8 倍

TDengine

数据库 tdengine

常见问题(FAQ)

源字节1号

linux之mktemp命令

入门小站

使用 GoRouter 进行 Flutter 导航:Go 与 Push

坚果

4月月更

在线文本代码对比

入门小站

工具

《写作的逻辑》读书笔记

坚果

4月月更

H2 数据库如何以服务器方式启动

HoneyMoose

H2 数据库采用客户/服务器端连接数据的 JDBC 参数

HoneyMoose

Docker下,pinpoint环境搭建

程序员欣宸

Java Docker 4月月更 Pinpoint

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