`

JDK 7发布后, xruby 何去何从?

阅读更多
Sun JDK 7将会包括很多scripting language, 并提供动态bytecode compilation.
很想知道xruby的未来是如何?
分享到:
评论
13 楼 sp42 2007-08-21  
indexchen 写道
仅有动态语言是不够的,关键是要有一个易用框架来提高开发效率。 如果没有rails,ruby很难有现在的知名度和使用者。在java中缺少的就是类似rails这样提供从显示层到数据库层解决方案的统一框架。每层都有不同的框架,最终要花力气去整合不同的框架,效率高不起来

JavaScript的也有~嘻嘻
Rhino on Rails:将 Rails 移植到 Javascript/Rhino
http://jstang.5d6d.com/thread-432-1-1.html
12 楼 gigix 2007-08-20  
indexchen 写道
仅有动态语言是不够的,关键是要有一个易用框架来提高开发效率。 如果没有rails,ruby很难有现在的知名度和使用者。在java中缺少的就是类似rails这样提供从显示层到数据库层解决方案的统一框架。每层都有不同的框架,最终要花力气去整合不同的框架,效率高不起来

这个……
有了Ruby,Rails还会远吗?
http://gigix.thoughtworkers.org/articles/2007/08/17/jrubyworks-j2ee-on-rails
11 楼 indexchen 2007-08-20  
仅有动态语言是不够的,关键是要有一个易用框架来提高开发效率。 如果没有rails,ruby很难有现在的知名度和使用者。在java中缺少的就是类似rails这样提供从显示层到数据库层解决方案的统一框架。每层都有不同的框架,最终要花力气去整合不同的框架,效率高不起来
10 楼 dreamhead 2007-08-17  
从目前的情况来看,JRuby不一定会走上完全编译的道路。某些情况在他们看来,并不值得去编译,比如eval。因为eval对于编译的处理是,编译之后,加载这个类(在JVM的层次上),然后运行得到结果。而这个过程中生成的这个类在运行结束之后,就失去了作用,所以,从某种角度上来说,他们认为这是一种浪费,倒不如直接解释了。

在我看来,JRuby和XRuby最主要的差别是:JRuby已经走上了正轨,而XRuby则很年轻。走上正轨意味着,JRuby考虑问题要谨慎得多,仅仅一个向Java 5移植的工作就讨论了好久,而在XRuby中,我们可以很快的将用Annotation绑定Ruby方法的这个想法付诸实现。JRuby现在选择的向编译器移植的路,是一条稳妥的路,在保证不破坏他们现有成果的基础上,一点点稳步前进。

其实,无论是JRuby还是XRuby,在编译这条路上都是刚刚起步,还有很长的路要走。有些问题只有有了一些应用之后,才会逐渐的暴露出来。比如Jon Tirsen给JRuby Team提出了一个问题,因为Rails本身的单线程模型,所以,需要可能需要起多个JRuby实例保证多线程处理,结果就是会在内存中存在大量相同的AST,造成浪费。我想了一下,如果走编译的道路,这个问题可以在部分上得到解决。当然,现在XRuby中的解决方案也不是特别理想。

从我的个人经验上来看,一个项目在它还比较新的阶段加入付出的远要比在它成熟之后加入要小得多。因为一个项目在最开始的时候,内容很少,很容易理解,然后,你会看到这个项目是如何一点点发生的变化,那些变化在参与者看来是理所当然的。

所以,我愿意鼓励有兴趣的人加入到XRuby中来,虽然它发展了有一段时间,但整体上来说,它还是一个非常年轻的项目。只要花不算特别多的时间去了解这个项目,就可以很快上手加入到开发之中。每次发布新版本时,想想自己在这个过程中的付出,总是一件很有乐趣的事情。
9 楼 yawl 2007-08-17  
我在最新的JDK 7里面没看到什么和script language直接相关的feature。原来倒是见到不少相关的设想,但好像很多feature由于时间关系都没加到JDK 7了。

invokedynamic指令是肯定不会在JDK 7里, 我甚至对是否会在JDK 8都很怀疑,而且即使出现invokedynamic,它自身也无法立即用在ruby compiler上(还需要很多其他东西辅助)。

JRuby现在在编译ruby的路走得不错。因为很明显把cruby解释器用java重新实现一遍不是个好选择,何况cruby解释器的设计本身就不是很好。

JRuby走的路很有趣,很多人可能不太清楚技术细节。现在jruby只是对method body进行编译(不是整个程序),而且还有相当多的代码无法编译。他们的办法是先'试图'编译,如果不行的话则用解释的办法。这样尽管编译器还不成熟,代码仍可运行。这样可以平稳的渐进式的过渡到compiler上。

xruby则是有自己的问题。尽管在编译上好一些,但在builtin库上则差太多了。就像c程序,光有gcc还不行,没libc库一样跑不了。而这个库是个非常耗时的工作。其实我本人非常喜好这个工作,是熟悉ruby/java的库的非常好的办法,只是工作量太大了些,尤其对于我这样每天只能花1-2小时在业余项目的人。

如果能利用jruby的库当然也是一条路,但同样很大工作量。其实最大的问题还是人手和时间不够的问题。



8 楼 lordhong 2007-08-15  
是的, 我并没有诋毁XRUBY的意思, 我想说的是SUN也有在那个方向发展的计划, 希望XRUBY和SUN可以有某种方式的合作.
7 楼 dreamhead 2007-08-15  
lordhong 写道
dreamhead 写道
脚本语言的支持只是提供了一些接口,具体的工作还要有人来做。
动态bytecode compilation?你说的是invokedynamic那个指令吗?那只是在JVM的层次上增加了对动态语言的支持,让我们可以更好的在JVM上实现动态语言。


不是, SUN JVM组的一个员工说的: bytecode compilation. 也就是说把SCRIPTING/DYNAMIC LANGUAGE 编译到JAVA BYTECODE, 和XRUBY是差不多的.  而且既然他们官方支持JRUBY, 把NATIVE RUBY编译也是很正常的事情.

把动态语言编译为bytecode还是要做很多工作的,不会像说起来这么简单。
JRuby目前在做编译器的工作,而且进展不错,所以,可以预期,JRuby未来在性能上会有一个比较大的提升。
6 楼 lordhong 2007-08-14  
dreamhead 写道
脚本语言的支持只是提供了一些接口,具体的工作还要有人来做。
动态bytecode compilation?你说的是invokedynamic那个指令吗?那只是在JVM的层次上增加了对动态语言的支持,让我们可以更好的在JVM上实现动态语言。


不是, SUN JVM组的一个员工说的: bytecode compilation. 也就是说把SCRIPTING/DYNAMIC LANGUAGE 编译到JAVA BYTECODE, 和XRUBY是差不多的.  而且既然他们官方支持JRUBY, 把NATIVE RUBY编译也是很正常的事情.
5 楼 lordhong 2007-08-14  
manus 写道
sun jdk7  离我们好远

明年第三季度
4 楼 liuyifan.com 2007-08-14  
佛说,未来就是没有未来
3 楼 dreamhead 2007-08-14  
脚本语言的支持只是提供了一些接口,具体的工作还要有人来做。
动态bytecode compilation?你说的是invokedynamic那个指令吗?那只是在JVM的层次上增加了对动态语言的支持,让我们可以更好的在JVM上实现动态语言。
2 楼 gigix 2007-08-14  
最起码,目前全世界在Java平台上做Ruby编译器做得最好的就是XRuby,所以即使JDK7要内建自己的Ruby编译器,也应该向XRuby学习或者引入。所以问题应该是Sun要怎么实现Ruby(如果他们确实打算实现的话),而不是XRuby何去何从。
1 楼 manus 2007-08-14  
sun jdk7  离我们好远

相关推荐

    JDK7安装包.zip

    JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7...

    jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (win-64位) 百度网盘下载

    jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (win-64位) 资源共享

    JDK7发布版

    官方64位的第一版JDK7,编译后理论上可运行在JAVA7以上的环境中,可编译出,通用jar包,值得收藏,欢迎下载!

    jdk-7u80-windows-x64安装包

    jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-...

    jdk7chm,java7帮助,jdk7api,jdk1.7帮且文档

    jdk7chm,java7帮助,jdk7api,jdk1.7帮且文档,jdk7api chm,JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了...

    jdk7下载下载

    jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载jdk7j下载

    jdk7 jdk-7u80-linux-x64 网盘下载

    jdk7 jdk-7u80-linux-x64 网盘下载

    JDK7新特性(完整篇)

    1.1 JDK7新特性<一>概述 . . . . . . . . . . . . . . 1.2 JDK7新特性<二> 语法 . . . . . . . . . . . . . 1.3 JDK7新特性<三> JDBC4.1 . . . . . . . . . . 1.4 JDK7新特性<四> NIO2.0 文件系统 . . . 1.5 JDK...

    jdk7-aarch64-uos.tar.gz

    jdk7,openjdk7,适用于arm64、aarch64架构linux等国产化服务器,如银河麒麟V10、uos等服务器系统。 详细信息 jdk7 arm64 aarch64 。亲测可用。

    jdk-7u80-windows-x64.exe 【官方下载的jdk1.7、jdk7,windows 64位版】

    jdk-7u80-windows-x64.exe 【官方下载的jdk1.7、jdk7,windows 64位版】

    jdk7 免安装版 win64

    jdk7免安装版,可以正常使用,有问题可以联系我,JDK(Java Development Kit)就是Java的开发工具包,无论是开发javase,javaee,javaee.是给Java开发者必须用到的开发工具

    Java JDK1.8.0——101

    JAVA JDK 压缩文件 可下载直接使用,具体配置JDK环节详细介绍

    jdk1.7 32位官方正式版 jdk-7u79-windows-i586 下载

    jdk-7u79-windows-i586.exe JDK7 稳定版 源官方下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

    okhttp包含okio(亲测可在jdk1.6环境运行)

    适合okhttp,okio JDK1.6:okhttp3.8.0-jdk1.6.jar JDK1.6+:okhttp-3.12.13.jar;okio-1.15.0.jar 适用于Java开发环境、使用OkHttp调用

    jdk-7u80最终版

    JDK1.7最终版,jdk-7u80,包含文件如下: jdk-7u80-linux-i586.gz jdk-7u80-linux-x64.tar.gz jdk-7u80-windows-i586.exe jdk-7u80-windows-x64.exe

    JDK7 Windows32位

    JAVA JDK7 1.7.80 Windows 32位版本,生产环境中亲自安装好用。

    kettle jar包, jdk7版本和jdk8版本

    kettle jar包, jdk7版本和jdk8版本 kettle jar包, jdk7版本和jdk8版本

    JDK 开发工具包 17.0.7

    JDK 17.0.7 的主要特点 支持 Java 应用程序的跨平台性:JDK 17.0.7 支持 Windows、Linux 和 macOS 等操作系统,使开发人员能够在同一平台上开发并运行 Java 应用程序。 改进的性能和稳定性:JDK 17.0.7 包括许多性能...

    windows-java-jdk7

    jdk7安装包jdk7安装包jdk7安装包jdk7安装包jdk7安装包jdk7安装包jdk7安装包

    jdk7下载 Mac

    Mac版的jdk7,官网好像不好下,得登录Mac版的jdk7,官网好像不好下,得登录Mac版的jdk7,官网好像不好下,得登录Mac版的jdk7,官网好像不好下,得登录Mac版的jdk7,官网好像不好下,得登录Mac版的jdk7,官网好像不好...

Global site tag (gtag.js) - Google Analytics