11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

IronRuby 的 1.0 之路

  • 2009-07-30
  • 本文字数:1475 字

    阅读完需:约 5 分钟

微软在 MIX’07 上就宣布了 IronRuby ,然而两年后我们仍然没有看到 1.0 版。2008 年 1 月,InfoQ 曾经采访过John Lam ,当时John 表示他们会在2008 下半年发布,但最后却没有实现。

作为开发人员,我们当然知道构造软件通常都会比你认为的要费时间。

IronRuby 项目的程序经理 Jimmy Schementi OSCON 2009 上做了题为“IronRuby 0.9”的讲演,他概述了微软在 IronRuby 1.0 上的进度。自从 2008 年采访 John Lam 之后,IronRuby 已经又前进了许多,其中有一些值得我们回顾:

IronRuby 0.6

于 2009 年 7 月发布,是一个非常重要的里程碑。Jimmy 在他的博客中写道:

性能是这个版本的主要关注点,启动速度更快了,内建类型也得到了优化。Ruby 的兼容性(可以跑 Cucumber 了!)以及与.NET 的互操作得到了极大的改善。

IronRuby 0.9

Jimmy 在 OSCON 上的讲演主要是关于此版本的,这个版本将会包括最后一组主要特性。Jimmy 在最近的一篇博客中对此做了描述,其中包含了 IronRuby 的关键组件以及这些组件对开法人员的意义。

跨平台、跨浏览器的 Ruby 实现:

任何时候当人们听到.NET 的时候,他们立刻会想到“Windows"。但是 Miguel Mono 团 队证明这并非事实。他们构建了一个开源的.NET 实现,可以运行在 Linux、Mac OS 和 Windows 系统上。他们还构建了开源的 Silverlight 2,叫做 Moonlight,这样 Silverlight 程序就可以在使用 Mozilla 插件体系的 Linux 浏览器上运行了。Silverlight 2 本身可以运行在使用 Intel 处理器 Mac 和 Windows 系统上。由于 IronRuby 可以运行在.NET 和 Silverlight 上,因此也可以运 行在 Mono 和 Moonlight 上。

由于 IronRuby 是与.NET 集成在一起的,因此你可以在 IronRuby 中调用任何已有的.NET 代码。这意味着可以在 IrongRuby 中使用任何 框架,比如 Windows Forms、WPF 或者 GTK(#),因为.NET 和 Mono(分别)拥有对这些框架的 CLI 绑定。Mono 甚至有一个使用 GTK 实现的 Windows Forms,这样应用程序无须修改就可以运行在两个实现上。

动态语言与静态语言的互操作:

IronRuby 与.NET 框架集成的非常紧密,在 IronRuby 中调用 C#/VB 代码不会感觉是在使用“互操作”。C#也可以通过 DLR Hosting API 调用 IronRuby 代码。而在.NET 4.0 中,动态方法分配已经成为了 C#的一部分,因此在 C#中调用 IronRuby 代码和调用 C#方法差不多。由于 IronRuby 基于 DLR,因此也可 以方便的与其它 DLR 语言进行交互,如今 Python 和 Ruby 可以很好的合作,未来的 DLR 语言也一样可以。

性能方面的改进非常明显,Ruby on Rails 的启动时间从 80 多秒下降到 20 秒左右。另一个值得注意的是,目前 IronRuby 可以运行 RubySpec 测试了:

兼容性是一个重大的改进。每次 check-in 时,我们都运行 RubySpec 测试,通过率是 85% 。这些测试来自于流行的 Ruby 框架,包括 Rails、Rake、RSpec 和 RubyGems。不断增加的兼容性 bug,将是通往 1.0 路上要解决的主要问题。

此外,

此版本还支持 Win32OLE 库,这使 Ruby 程序可以与 COM 进行交互,就像 MRI 上运行的 Watir 那样。

性能与其它 Ruby 实现做了比较,如 MRI:

性能方面的表现也很好。在 Ruby benchmark suite 测试中,最新版本在几乎整个测试中都有 MRI 两倍以上的性能表现。详细的数字将会在 IronRuby 0.9 发布时公布在 http://ironruby.nfo。

IronRuby 1.0

IronRuby 1.0 到底什么时候才能发布?这取决于整个社区。我们将会在 0.9 的子版本(0.9.1,0.9.2……)中持续改进,直到社区认为 IronRuby 1.0 可以发布。

你可以登陆 IronRuby 网站找到更多关于 IronRuby、下载、贡献以及支持的信息。

查看英文原文: IronRuby and the Road to 1.0

2009-07-30 20:531180
用户头像

发布了 63 篇内容, 共 21.7 次阅读, 收获喜欢 1 次。

关注

评论

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

第二期 OceanBase 技术征文大赛来袭!快来释放你的原力!

OceanBase 数据库

数据库 分布式 征文大赛 OceanBase 社区版

springboot3+r2dbc——响应式编程实践

麒思妙想

Reactive Java web spring-boot

让工程师拥有一台“超级”计算机——字节跳动客户端编译加速方案

字节跳动终端技术

ios 字节跳动 DevOps 客户端 火山引擎MARS

2022年了循环是什么?

謓泽

循环语句 C'语言 2月月更

【行业云说直播间】就在明天下午!聚焦园区数智化转型

浪潮云

云计算运维

大数据培训:Flink窗口的开始时间的计算

@零度

flink 大数据开发

eBPF 科普第一弹| 初识 eBPF,你应该知道的知识

Daocloud 道客

基础软件 ebpf Daocloud

MySQL 常用备份工具流程解析

Qunar技术沙龙

理论+算法+实战,教你如何实现亿级流量下的分布式限流

华为云开发者联盟

高并发 服务器 分布式限流 限流 计数器

冬奥金牌冲击!为冬奥助力加油!

InfoQ写作社区官方

话题讨论 冬奥会 热门活动

凡泰极客积极参与信通院“5G消息应用数据安全标准”落地工作

FinClip

5G消息 中国信通院

填问卷赢豪礼,吐槽 NGINX 顺便中个 AirPods 新款耳机~

InfoQ写作社区官方

nginx 热门活动

灵活地横向扩展:从文件系统到分布式文件系统

博文视点Broadview

CentOS 安装 Oracle(单机版)

wong

oracle centos

实时数仓:基于 Flink CDC 实现 Oracle 数据实时更新到 Kudu

腾讯云大数据

flink 执行 流计算 Oceanus

安全创新厂商长亭科技加入,牵手龙蜥共建网络安全新生态

OpenAnolis小助手

Linux 开源 网络安全

java培训:JVM性能调优理论基础知识分享

@零度

JVM JAVA开发

[架构实战营]第七模块

Vincent

「架构实战营」

库珀科技招聘Java/前端/测试[20~60K][18~24薪][成都][可远程]

Mr. Xie

前端 测试 招聘 Java web

火山引擎科技原力峰会:超视频时代如何提供交互性、高清化音视频体验

字节跳动视频云技术团队

绿色数据中心:风冷GPU服务器和水冷GPU服务器综合分析

蓝海大脑GPU

用户体验超好的堡垒机哪里有?咨询电话多少?

行云管家

等保 堡垒机 网路安全 等级保护

web技术分享| WebRTC记录音视频流

anyRTC开发者

前端 音视频 WebRTC web技术 实时通讯

基于流计算 Oceanus(Flink) CDC 做好数据集成场景

腾讯云大数据

flink 执行 流计算 Oceanus

web前端培训:开发过程中比较实用的 Linux 命令

@零度

前端开发

喜报 | 旺链科技入选上海市高新技术成果转化项目!

旺链科技

区块链 产业区块链 高新技术

如何通过云效进行函数计算(FC)发布

阿里云云效

阿里云 云原生 CI/CD 持续交付 研发提效

“翻墙”的罪与罚,国内互联网用户VPN“翻墙”的AB面

科技热闻

如何编写sdk?

百度Geek说

前端

数蛙科技百亿级物流标签轨迹时序数据压测

dgiot

物联网 2月月更 2月日更 dgiot dgiot物联网

【等保测评】广西等保安全测评有限公司有哪些?

行云管家

网络安全 广西 等保 等级保护 等级测评

IronRuby的1.0之路_.NET_Robert Bazinet_InfoQ精选文章