`
xsuo
  • 浏览: 123417 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JRuby 1.0发布:实现JVM对Ruby的兼容

阅读更多

JRuby 1.0发布:实现JVM对Ruby的兼容

作者 Scott Delap译者 Jason Lai 发布于 2007年6月10日 下午8时0分

社区
Java,
Ruby
主题
动态语言,
Ruby on Rails

JRuby 1.0刚刚发布。该项目的代码贡献者Ola Bini在博客中写到:

[……]JRuby 1.0是我们项目的一个重大里程碑,我们对1.0版本一直以来的目标就是Ruby的兼容性,而我们认为这个目标已经实现。当我们看见像ThoughtWorks一样的公司为其提供商业支持的时候,我们就知道这个敏捷表已经实现了……当然,要注意的很重要一点就是,JRuby 1.0并非所有Ruby解释器的终结者,它并不完美,一切才刚刚开始。现在我们拥有一个非常良好的基础平台可以在之上继续工作,而这才是真正任务的起点。加入我们吧!这会成为一次很有趣的旅程,而JRuby今后只会越变越好!

这个发布版本的产生,自代码贡献者Charles Nutter和Thomas Enebo被Sun招至旗下之日起历时九个月。其间,另外一名代码贡献者Ola Bini也成为了ThoughtWorks帐内一员,致力于JRuby开发。

这个发布版以“Ruby兼容”为主打口号,所有和Matz的Ruby实现(MRI)不能兼容的已知JRuby Bug都得到了解决。应用程序基本上可以不加修改直接运行。Charles Nutter在博客中详细介绍了JRuby 1.0之后的开发进程。总结如下:

    性能
    在过去的一年中,运行速度已经得到了数量级的提升,并且JIT编译器已经实现。开发团队将继续改善JRuby的运行速度和性能。

    Java集成
    目前,我们已经可以调用Java的代码库,实现Java接口,并且扩展Java类,但边界情况还是存在。1.1版本的目标之一就是提供一个重新设计的集成API。

    Ruby 2.0及Rubinius
    在近期内支持Ruby 2.0和Rubinius字节码的执行是主要目标之一。

Nutter还把触手伸到了社区之中。JRuby是一个社区项目,由社区参与所维系。他明确提到了在RubySpec上做出的努力:

[……]RubySpec是构建一份由社区驱动的Ruby规范的一项努力。RubyDoc提供了对它的链接,并且它很快成为社区记录语言和代码库行为的一种标准方式。我相信这是让我们协作完成关于Ruby行为的一份完整规范的最佳最快的方式……我也相信这样的一份规范正在变得异常重要,因为现在Ruby存在的5-10个不同的实现,每个实现都在揣测到底什么是“正确”的[……]

与此相关的是,ActiveRecord-JDBC 0.4也随着JRuby 1.0一起发布了。ActiveRecord-JDBC是一个用于Rails的ActiveRecord组件的数据库适配器,可以在JRuby中使用。本质上,它能让JRuby on Rails应用使用所有和JDBC兼容的数据库。0.4版加入了以下特性:

  • 对PostgreSQL(Dudley Flander的贡献)以及HSQL(Matthew Williams的贡献)的支持;
  • 使用DATE对Oracle的时间戳问题进行修正(和其它数据库相同);
  • Derby修正:修正了开放结果集问题(open result set issue),更方便地进行结构转存(structure dump)、引号支持(quoting)和变更字段类型;
  • Sybase类型识别修正(Dean Mao的贡献)。

Sun在Ruby上所做的努力并不只是包含JVM下的运行时。最近6个月内,Sun的Tor Norbye也为Netbeans IDE带来了许多有重大意义的Ruby支持新特性。上周他还加入了查找使用点(Find Usages)和重构支持:

[……]举例说,我希望把我Rails应用的控制器中的@comments域重命名。我用右键单击一下,然后选择一个新的名称并单击OK。接下来,我单击“预览”,在底部窗口就可以看见一个重构操作的列表,并伴随当前所选项的异同比较。我可以(而且应该!)使用上/下箭头遍历一遍其中的改变,而且我可以在单击重构按钮应用这些改变之前,去掉我所不喜欢的任何变更[……]

这些特性存在于Netbeans最新的开发构建版本中,可以在nbextras.org中以Ruby IDE的形式找到。此外,你可以在Netbeans Wiki上找到更多的详细安装指南。

查看英文原文:JRuby 1.0 Released: Bringing Ruby Compatibility to the JVM

分享到:
评论

相关推荐

    jruby-src-1.0

    通过解压并查看这些源代码,开发者可以深入理解JRuby的内部工作原理,包括其解析器、编译器、运行时环境以及对Ruby语法和库的实现。这对于学习如何在Java环境中实现动态语言,或者想要为JRuby贡献代码的人来说是极其...

    java开源包3

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    java开源包4

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    java开源包1

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    java开源包11

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    java开源包2

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    java开源包6

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    java开源包5

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    java开源包10

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    java开源包8

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    java开源包7

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    java开源包9

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    java开源包101

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    Java资源包01

    Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮...

    JAVA上百实例源码以及开源项目源代码

    凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实...

Global site tag (gtag.js) - Google Analytics