写点什么

Ruby 1.8.8 及通向 Ruby 1.9.1 之路

  • 2009-03-01
  • 本文字数:783 字

    阅读完需:约 3 分钟

随着 Ruby 1.9.1 的发布,Ruby 1.9 也迎来了自己的稳定版,但很多人仍然不愿意转到该版本上,因为缺少与 1.9 兼容的库工具支持

尽管 Ruby 1.8.7 已经出来一阵了,但在未来一段时间内还是会继续维护1.8.6 的。Ruby 1.8.7 引起了不少争执,因为它移植了1.9 的一些特性而有些改变会产生问题(相对于1.8.6),这也导致了 JRuby 团队目前放弃了对 Ruby 1.8.7 的支持(虽然这可能会发生变化)。

最近人们又重新开始了关于1.8.x 分支未来的争论,部分原因在于Ruby 1.8.8 将于今年发布。

在这场争论中, Ruby 1.8.7+ 的主要维护者 Akinori MUSHA 公布了 1.8.8 的计划:

对于我们来说,1.9 才是未来而 1.8.6 及之前的版本都已成为尘封往事了。1.8.7 也成为了过去,但如果你觉得没那么难的话可以继续对 1.8.7+ 提供支持,这样的话那些还不准备迁移的用户会很感激的。在 Ruby 1.8.8 中加入了兼容性语法,这样我们就可以在单独的源代码文件中轻松编写适合于 1.9 和 1.8.8+ 的代码而无需放弃 1.9 的那些优化了。 如果你仍需编写 1.8.6 的代码但打算将来支持 1.9,那么请使用警告选项(-w)在 1.8.7 和即将到来的 1.8.8 下运行程序。

尽管官方的 1.8.7 具有一些来自于 1.9.1 的迁移性特性,但我们还有其他方式来利用 1.9.1 的那些特性。其中 1.9.1 中的 Fibers 就是非常有用的,它被用来为Ruby 的数据库适配器进行一些重要的可伸缩性改进 NeverBlock 通过向库中增加“Fibers”来支持 1.8.x

目前该移植以 1.8.6_p287 和 1.8.7_72 补丁的形式发布

在 Kickball Labs 中,Aman Gupta( http://github.com/tmm1)和我(http://github.com/ice799)[Joe Damato] 正在忙于 Ruby 1.8.{6,7}的 Fibers 实现。其 API 兼容于 Ruby 1.9,但除了“transfer”方法,因为当前尚未实现该方法。凭借该补丁,你可以让 mysqlplus 和 neverblock 与 Fibers 协同工作。

查看英文原文: Ruby 1.8.8 and the Road to Ruby 1.9.1

2009-03-01 06:56894
用户头像

发布了 88 篇内容, 共 262.0 次阅读, 收获喜欢 8 次。

关注

评论

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

浅谈etcd服务注册与发现

闫同学

Go 微服务 etcd 10月月更

用栈操作构建数组

掘金安东尼

算法 10月月更

「趣学前端」容器上的折角边框是图形吗?

叶一一

CSS 前端 10月月更

Serverless的应用场景

阿泽🧸

Serverless 10月月更

常见大数据应用场景

穿过生命散发芬芳

大数据 10月月更

图解ReentrantLock的条件变量Condition机制

JAVA旭阳

Java 并发 10月月更

WeChat Moments Performance Analysis

David

架构实战营

一文搞懂Go整合captcha实现验证码功能

闫同学

Go Web 安全 10月月更

ReentrantLock可重入、可打断、锁超时实现原理

JAVA旭阳

Java 并发 10月月更

【愚公系列】2022年10月 Go教学课程 029-面向对象简介

愚公搬代码

10月月更

Go-Excelize API源码阅读(二十二)——SetAppProps(appProperties *AppProperties)

Regan Yue

Go 开源 源码分析 Excelize 10月月更

「趣学前端」box-shadow的多重用法

叶一一

CSS 前端 10月月更

JavaSE 抽象类和接口

whispar

接口 Java应用 10月月更

Kafka的客户端NetworkClient如何发起的请求

石臻臻的杂货铺

Kafk 10月月更

Vue组件入门(六)派发事件的参数传递

Augus

Vue 3 10月月更

前端开发提效小技巧之业务功能篇

叶一一

前端 提高效率 10月月更

搭建Linux下QT开发环境与Android开发环境(嵌入式与PC机)

DS小龙哥

10月月更

Apache RocketMQ 在阿里云大规模商业化实践之路

阿里巴巴云原生

Apache 阿里云 云原生 消息队列 商业化

用Java实现计算器功能

魏铁锤

10月月更

super关键字的作用

魏铁锤

10月月更

Go-Excelize API源码阅读(二十三)——SetDocProps、GetDocProps

Regan Yue

Go 开源 源码刨析 10月月更

如何在 Linux 上重新启动网络接口?

wljslmz

Linux 网络 网络接口 10月月更

JWT详解

Java学术趴

10月月更

一文搞懂常见的网络I/O模型

闫同学

网络 网络io 10月月更

「趣学前端」页面上吸顶的效果是怎么做到的

叶一一

CSS 前端 10月月更

Go语言开发小技巧&易错点100例(一)

闫同学

10月月更

Linux下编写ENC28J60网卡驱动,完善网络设备框架

DS小龙哥

10月月更

行业实践:RocketMQ 业务集成典型行业应用和实践

阿里巴巴云原生

阿里云 RocketMQ 云原生

百度面试题——迷宫问题(超详细解析)

lovevivi

c 数据结构 10月月更

Spring Boot「06」Loading initial data

Samson

Java spring 学习笔记 spring-boot 10月月更

协同开发时,如何科学的使用Git紧急修复线上bug?

王中阳Go

git 敏捷开发 团队协作 10月月更 git使用规范

Ruby 1.8.8及通向Ruby 1.9.1之路_Ruby_Werner Schuster_InfoQ精选文章