NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

AI简报-增强版GAN图像超分:ESRGAN

AIWeker

人工智能 深度学习 5月月更 AI简报

大数据ETL自动化调度运维专家-TASKCTL

TASKCTL

Docker 大数据 程序员 DevOps 数据仓库

GraphQL初探

RingCentral铃盛

JavaScript graphql

详解SQL操作的窗口函数

华为云开发者联盟

sql 窗口函数 AP场景

带你学习MindSpore中算子使用方法

华为云开发者联盟

模型 mindspore 算子

技术分享 | Javaer 如何做单元测试?

LigaAI

Java 单元测试 LigaAI

锅圈如何利用 Zadig 从容落地运维容器化建设

Zadig

DevOps 云原生 CI/CD 持续交付

华为AppCube通过中国信通院“低代码开发平台通用能力要求”评估!

华为云开发者联盟

低代码 华为云 AppCube

【等保】等保测评中双因素认证是什么意思?等于双因子认证吗?

行云管家

网络安全 等保 双因子认证 等级保护

一键式打造DAO,M-DAO或成Web3新宠儿

西柚子

【技术干货】代码示例:使用 Apache Flink 连接 TDengine

TDengine

数据库 tdengine

揭秘亚马逊云科技软件开发工程师团队

亚马逊云科技 (Amazon Web Services)

软件开发 工程师

4种Springboot RestTemplate 服务里发送HTTP请求用法

华为云开发者联盟

Java Rest HTTP

低碳数据中心建设思路及未来趋势

H3C-Navigator

元宇宙用户已准备就绪,但技术瓶颈仍制约其真正“落地”

CECBC

HashSet源码分析-基础结构

zarmnosaj

5月月更

喜讯!「凡泰极客」中标「廊坊银行」小程序平台应用建设项目

FinClip

小程序 finclip 廊坊银行

加码布局版式文档垂直赛道,福昕船舶图纸管理系统重磅发布

联营汇聚

元宇宙的十大经济规则

CECBC

【智人智语】史赛克全球数字化、机器人及赋能技术总裁柯若博:世界智能大会是一个非常重要的盛会

InfoQ 天津

【网易云商】TypeScript 进阶指南,突破基本类型

网易智企

typescript

虚拟化解决方案 virtio 的技术趋势与 DPU 实践解读 | 龙蜥技术

OpenAnolis小助手

虚拟化 技术分享 DPU 龙蜥大讲堂 云豹智能

F5 NGINX 核心人员倾力打造,搞懂 NGINX 这一本就够了

图灵教育

nginx 程序员 服务器 计算机

监控系统报警级别设定

焦振清

监控系统 报警级别

大数据培训用SQL来实现用户行为漏斗分析

@零度

大数据开发

【云堡垒机】云堡垒机很贵吗?怎么收费?

行云管家

网络安全 数据安全 堡垒机 云堡垒机

Flink 1.15 新功能架构解析:高效稳定的通用增量 Checkpoint

Apache Flink

大数据 flink 编程 流计算 实时计算

敏捷领导力(CAL E+T+O)认证在线培训 | 2022年8月18-20日

ShineScrum捷行

敏捷 敏捷领导力 CAL 世界级敏捷领导力大师

数据库治理的云原生之道 —— Database Mesh 2.0

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

回顾|Flink CDC Meetup(附 PPT 下载)

Apache Flink

大数据 flink 编程 流计算 实时计算

二、KVM架构概述

穿过生命散发芬芳

kvm 5月月更

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