首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

从语言升格为平台:JAVA老矣,尚能饭否

2012-11-08 
从语言升级为平台:JAVA老矣,尚能饭否?JDK6到JDK7竟然有四年多的跨度,而且新加入的特性,也并不是那么激动人

从语言升级为平台:JAVA老矣,尚能饭否?

JDK6到JDK7竟然有四年多的跨度,而且新加入的特性,也并不是那么激动人心(相对于社区的期望和动态语言的快速发展),闭包(Closure)本来是一个万众期待的特性,在经过激烈的争论之后还是被放弃了。

  越来越多的人开始担忧JAVA的前途,我觉得,以目前的情况来看,JAVA在JVM上失去Number One的地位是迟早的事情,但我们不要忘了,这个有些老态龙钟的JAVA曾经的辉煌,以及它所背负的兼容性包袱。

  java的每一次版本递进,都要考虑对以前版本的语言兼容性、平台兼容性和移植兼容性。

  语言兼容性(language compability),要保证已有的词法、语法在新版本上含义不变;平台兼容性(platformcompability),要保证新版本提供的API(比如java.util/java.io)与已有版本保持一致,原有程序不做改动,可以在新平台上运行,且行为一致;移植兼容性(migrationcompability),就是要求原有的程序可以逐步迁移到新的平台,而不是要改相关模块都必须改。以泛型为例,如果有两个不支持泛型的模块,用collection进数据交互,当其中一个模块升级到支持泛型后,是不会对另外一个模块产生影响的。

  其实不仅仅是java,任何一个软件系统,随着塞入的功能越来越多,都会逐渐变得臃肿不堪,因为没有哪个架构师有长线预测未来的能力。C的经典,是因为其语言特性的简单和时间稳定性,如果要把泛型、闭包、垃圾回收都加入到C,那么C就不再是C,而是C#。

  不过,对于开发人员来讲,我觉得没有必要悲观,也没有必要怀疑java的未来,或者准确的说,不要怀疑JVM的未来,java正在从一种语言(language),变成一个平台(platform)。Java7的虚拟机对多种动态程序语言增加了支持,也充分说明了sun(或者说oracle)的意图:java不是唯一,java和其它jvm兼容的语言也不是对立的,平台掌握在我手里,那么当然是语言越多越好。

  但开发人员也应该做出适当的调整,那就是应该分出一部分精力关注一下JVM的规范和其它语言的特性,既然有更多选择,那么也应该充分发挥各种语言的强项,拿合适的技术做合适的事情。

  也许再过若干年,我们会更关注JVM的版本而不是java的版本,java语言,也许就会变成一个参考实现(referenceimplementation),就像glassfish之于J2EE;或者,我们可以将java/groovy/scala各种语言真正无缝集成在一个源文件中(就像jsp和html一样)也为未可知。

  未来总是美好的,您觉得呢?

1 楼 xuloveqi 2009-10-23   程序员应该与时俱进吧,语言淘汰了,可是积累的经验与方法是淘汰不了的。 2 楼 herowzz 2009-10-23   JavaEye论坛使用规则
引用
三、严禁技术文章的全文转载
JavaEye是原创技术社区,严禁全文转载技术文章。违反者将被删除所发帖子,扣除积分30分。如果希望推荐优秀的技术文章到JavaEye论坛进行讨论,只能转载原文不超过30%的内容,以及贴出原文的link地址,并且附上你对原文的观点同大家进行交流讨论。




3 楼 碧血剑 2009-10-24   咋又谈java老矣。那么你觉得那个语言好呢?其实语言无所谓就是工具,没必要搞得预测未来。 4 楼 mqh444 2009-10-24   java语言由开发语言转化为平台,体现了更大的兼容性和跨平台。 5 楼 shanshan1983 2009-10-24   谁知道未来是什么样子,语言只是一种处理问题的工具,程序员与时俱进,就谈不上落伍 6 楼 key232323 2009-10-24   如果java也来两个版本,一个兼容持续维护的,一个改革创新的(recommanded),那样会不会好些? 7 楼 freerambo 2009-10-25   key232323 写道如果java也来两个版本,一个兼容持续维护的,一个改革创新的(recommanded),那样会不会好些?

强烈支持。。。。 8 楼 andyyehoo 2009-10-25   Java的兼容性和稳定,真是企业应用看重的,像微软哪种刷一下把旧东西就完全推翻重来的,对于企业应用是难以承受的。

但是对于新生Web应用来说,这方面不是很重要的,快和效率才是王道,所以,很多都不是用Java,也不是.Net

作为使用者,没必要抱死JAVA的大树,多关心和涉猎一些不同的区域,才是王道。怀着抱死一门语言吃一辈子想法的,恐怕不是什么好事。 9 楼 dragonzhong 2009-10-25   能解决问题就行,不用找MR Right 找Mr Right Now

热点排行