Java语言将淡出 JVM宝座争夺战预热

精贴 置顶
2215 0

  Java做为一个编程语言正在老去,但JVM的优势却越来越显著。JVM正在成为一个多元化的平台,开发人员可以充分利用不同语言来满足各自不同的需要。

  Java比JVM(Virtual Machine)更有分量的时代已经结束了。

  JVM作为一种机制用以提供Java应用在多个不同硬件上的可移植性,而现在它可以运行的语言更多了,从动态语言如JRuby, Jython和Clojure到静态型Scala语言。因此,JVM正在成为一个多元化的平台,开发人员可以充分利用不同语言来满足各自不同的需要。

  为什么JVM变得如此有吸引力呢?Sun Microsystems公司Web技术总监认为,这是因为JVM这个Java平台的性能以及它对其他语言的支持。例如,JVM尤其是HotSpot,具有尤其突出的性能。第二个原因是JVM有巨大的Java库。学习一种新语言最难的问题之一就是要汇集所有必要的库并使之可用,而在JVM上,你可以免费得到这一切。因此,许多企业也不会部署任何不适合Java生态系统的东西。

  Java平台比Java语言更加重要。Sun公司的Bray强调Java平台已越来越比Java语言本身重要。他说,我个人认为, 长远来看Java平台比Java语言有更多的战略重要性。

  对我们而言JVM已经完全成为伟大的产品,因为它在每一个新一代的JVM中都切实地改善了性能,这种性能提升稳定且有必要。 Scala语言的开发者Martin Odersky说。与此同时他指出,在一个公司的基础架构中Scala可以取代Java,比如Sony Pictures。

  不过,尽管其他语言在JVM上的使用越来越多,但Java还没有成为JVM中过时的语言。 Bray说,Java仍然是世界上最流行的编程语言,并将继续是企业和未来系统编程的核心语言。

  如果这样的事情(指Java不再是企业和系统编程的核心)会发生,那也将是在非常非常遥远的将来。 Odersky说。他指出,Java背后的种种庞大因素使得大多数公司都不愿意改变它。尽管如此,类如Scala和其他一些语言将获得JVM上更多的语言共享,而JVM平台也将变得比现在更加多语言化。 Odersky说道。

  JVM将变得更加多语言化的一个原因是Sun的Da Vinci Machine项目,该项目承诺将简化动态语言在JVM上的运行。Bray说,Da Vinci Machine解决[Java Specification Request] 292 ,目的是方便动态语言开发者能在JVM上获得很好的性能,无疑这将增加动态语言社区对JVM平台的吸引力。这项工作值得密切关注。

  Clojure的作者Rich Hickey认为,动态语言有利于解决在开始时并不确定答案的问题,如建立Web应用程序,尤其是因为没有一个正确的方式去建立一个Web应用程序;相比之下, Java更适合解决知道答案的问题,当然底层的基础架构尤其适合Java。

  同样的,其他语言也给JVM带来了更好的功能。JRuby和Jython的支持者认为他们的语言并非Java的竞争语言而是对Java的补充。一个Jython项目的leader Frank Wierzbicki说,Jython更多的是对JVM上Java语言的补充,它因为将Ruby带入JVM中而进一步提升了这个Java平台。

  JRuby。JRuby可以说一直是JVM上的最引人注目的动态语言。它可以追溯到2001年,是Ruby语言的一个解释器。JVM上实现Ruby有两个非常重要原因。首先,它使Java开发者接触到一个更高层次的编程语言, JRuby 的核心开发者Bini说,第二,Ruby有许多有趣的库,比如Rails和RSpec,可用于JVM上 。用于JVM上也意味着当你使用Ruby时,你仍然可以使用所有现有的Java库。JRuby可以像使用Ruby类一样来使用任何Java类。这意味着你综合了Ruby语言生态系统以及Java环境的功能。他说。

  Jython。与此同时, Jython所有的方式都回到1998年7月,那时它还被称为JPython。Wierzbicki表示,有大量的Java在那里,Jython提供了一种从高效的Python语言访问代码的方式。例如,Jython一直被测试框架使用作为一个嵌入式的脚本工具。我已经在许多的Python会议如PyCon、EuroPycon以及EuroDjangoCon上说过,而且我也切实地发现许多Python社区的开发者希望能够在JVM上使用Python。他补充说。

  Clojure 。JVM上仍是Clojure (发音为closure ),它用来支持JVM上的功能型以及更好的并行程序设计。Hickey称,这将推动多线程应用程序的开发。任何Java有用的地方Clojure都有用。因此它使用Java库和语法支持Java调用。

  Scala。首次亮相于2004年,用以提升Java。虽然Java平台提供了诸如类安全性和垃圾处理等功能,但这些仍然不够。他说,我们希望让Java更具表达性,因此人们的开发效率将更高。Scala不同于JVM兼容的其他语言,如JRuby、Jython Clojure ,它部署了一个完善的静态型系统,并提供更多的编程功能。

  Groovy 。JVM上的另外一个语言。被称为JVM的敏捷动态语言Groovy构建在Java的优势上,并从Ruby和SmallTalk等语言吸取灵感新增了很多功能。

  有了Groovy,这肯定更容易编程,与Groovy比Java说,SpringSource的首席软件工程师Jon Travis说,他负责监督Groovy语言的开发。世界各地的Groovy开发者为熟悉Java的朋友们增加了很多令人印象深刻的功能。

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
用ASP实现网页BBS 2010-11-01
CSS cursor鼠标样式一览表 2012-06-25
.NET后台写JS代码 2011-11-03
网站地址多出jdfwkey的问题解析及... 2010-08-25
数据库xxx的日志已满,请备份该数... 2013-07-19
百度、google、Yahoo网站地图制作... 2011-01-30
<a>标签的伪类书写顺序问题... 2010-09-04
什么是长尾关键词? 2010-09-24
CEO名言 2010-08-31
Mysql 主从数据库同步 2010-09-12
博主推荐
本个人博客微信公众平台上线啦~~... 2013-10-13
饼哥网络互联上线啦~~要买域名空... 2013-09-20
网站title标题如何正确修改不会被... 2013-08-26
饼哥通讯录系统上线啦,欢迎大家... 2013-08-24
ASP .NET MYSQL 的简单分页 并不... 2013-08-19
网站有弹窗广告这样的站点,百度... 2013-08-17
做淘宝SEO优化需要注意的8大问题 2013-08-17
淘宝网怎么做SEO优化 2013-08-17
站长们要学习的“苍井空精神” 2013-08-17
苹果公司今日发布了iOS 7第五个开... 2013-08-07
随便看看
J2me Game开发技巧:树形结构实现... 2013-06-26
其它的ASP常用组件 2010-10-25
link和domain的区别 2010-09-19
简单的Java程序 2010-10-16
算术运算符 2010-10-18
Windows 7特色功能体验:优化篇 2011-01-20
本博客手机版上线咯!会员后台也... 2013-07-31
兼容IE6、IE7、IE8和Firefox的CS... 2011-03-17
10招,让你的个人博客更受搜索引擎... 2010-09-08
win7如何设置ip地址 2013-07-29
RSS新闻
传媒新闻
CSDN
八卦新闻
女性新闻
台湾新闻
互联网
军事-新浪博客
IT-新浪博客
汽车新闻
游戏新闻
国际新闻
国内新闻
体育新闻
我的微博
北京 上海 杭州 深圳 广州 成都