网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 新闻资讯 > Java新闻 > Sun开始支持Jython使JVM有望成VM  

Sun开始支持Jython使JVM有望成VM

2008-05-12  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

在近几年,随着计算机硬件性能的提高,脚本语言也受到了开发人员的不断追捧。然而,很多流行的脚本语言都是各自为战(如Ruby、Python、Perl等)。它们都拥有自己的解析器和丰富的功能库。然而Sun可能是看到了脚本语言是未来开发语言发展的趋势,因此,为很多常用的脚本语言提供了JVM版本。

网管下载dl.bitscn.com

由于动态语言和以Java、C#为首的强类型语言有着本质的区别,因此,直接将它们编译成Java的字节码有些困难。因此,Sun想了个更好的方法,直接使用Java语言为这些动态语言来编写解析器。这样以来,不仅可以很容易解决动态语言的跨平台问题,而且也更容易实现。 中国网管联盟bitsCN.com

一、JRuby:JVM的第一件动态语言外衣

网管bitscn_com

第一个进入Sun的视线的是Ruby,Ruby是一种功能强大的面向对象的脚本语言,她可以使您方便快捷地进行面向对象编程。有时使用像Smalltalk、Eiffel或C++这样正式的面向对象语言来开发一些小项目显得有点"小题大作",而Ruby刚好可以满足这些面向对象编程的需求。当然了,您也可以使用Ruby进行普通的面向过程编程。Ruby的文本处理能力极强,与Perl不分伯仲。同时,Ruby的语法简单,还有异常处理以及迭代器等构造,使编程变得更简单了。

网管bitscn_com

同时,Ruby还拥有一个类似Struts的MVC Web框架Rails,利用Rails可以非常快速的开发基于MVC模式的Web程序。Sun看到了Ruby和Rails的发展前景,类此,首先提供了基于JVM的Ruby:JRuby。因此,也可以这么说,JVM + Ruby = JRuby。

网管u家u.bitscn@com

JVM + Ruby = JRuby

Sun不仅提供了JRuby,而且也在自己的NetBeans中提供了很好的Ruby/JRuby支持。 网管联盟bitsCN_com

JRuby的开发界面

在以前,Sun很少为某种动态语言提供开发环境,而JRuby的特殊待遇可见Sun对JRuby的重视程度非同一般。这也许是Sun在将JVM变成真正的虚拟机(也就是去掉JVM前面的J)的第一步。由于JRuby运行在JVM上,因此,JRuby就理所当然地可以使用JVM及庞大的Java库了。也许这也正是Sun认为JRuby才是Ruby和Rails发展的真正王道的原因。 网管下载dl.bitscn.com

二、Jython:JVM阵营的又一力作 网管网www_bitscn_com

当Sun看到了JRuby/Ruby的成功后,并不甘心在JVM上只支持Ruby一种动态语言。因此,在支持JRuby后不久,Sun就雇佣了两位Python社会的开发人员来为JVM披上一件新的外衣,这就是Jython。 网管网www.bitscn.com

Jython是Python编程语言100%纯Java实现,它结合了Python和Java虚拟机和库的优点,成为了Java平台的有益补充。

网管网www.bitscn.com

最初的Jython又称为JPython,是一个十足的Java应用程序,它允许使用Python编程语言的语法和大多数特性。和其它编程语言比较,Jython有如下几个优点:

网管u家u.bitsCN.com

1. Python解释器shell的Jython版本可以对某些想法和API作便利的实验和研究。而不必经历一般的Java编译运行周期。

网管网www.bitscn.com

2. Python被设计成动态且通用的,因此你不必通过使用复杂的库(如用于Java反射和内省的库)来添加这些特性。这使开发更简单,而且它在自动测试框架中特别有用。 网管网www.bitscn.com

3. 部署简捷,提供了及时部署能力,无需花大量时间在打包和编译周期上。

网管下载dl.bitscn.com

4. 易于学习和使用,技术门槛低,可以轻松地找到大量的使用者。 网管网www.bitscn.com

三、总结

网管网www.bitscn.com

虽然在JVM上运行的这些动态语言在性能上可以略逊于原生的动态语言。但是由于它们可以和JVM无缝连接,因此,这些J...语言天生就具有了和Java语言一样强大的功能。正所谓抱棵大树好乘凉。看来以后Sun还会在JVM中支持更多的动态语言。当然,目前除了Sun官方提供的支持,第三方也有了很多关于其他动态语言的支持,如原生的Groovy。还有Tcl、BeanShell等。看来以后JVM这个词要消失了,也许我们以后要直接叫JVM为VM了。但愿这一天会早日到来。

中国网管联盟bitsCN.com


TAGs
 上一篇:SpringSource新服务器发布 摒弃Java EE   下一篇:Sun VisualVM项目 开源Java问题解决方案
Sun开始支持Jython使JVM有望成VM 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: