JDK6到JDK7竟然有四年多的跨度,而且新加入的特性,也并不是那么激动人心(相对于社区的期望和动态语言的快速发展),闭包(Closure)本来是一个万众期待的特性,在经过激烈的争论之后还是被放弃了。
越来越多的人开始担忧JAVA的前途,我觉得,以目前的情况来看,JAVA在JVM上失去Number One的地位是迟早的事情,但我们不要忘了,这个有些老态龙钟的JAVA曾经的辉煌,以及它所背负的兼容性包袱。
java的每一次版本递进,都要考虑对以前版本的语言兼容性、平台兼容性和移植兼容性。
语言兼容性(language compability),要保证已有的词法、语法在新版本上含义不变;平台兼容性(platform
compability),要保证新版本提供的API(比如java.util/java.io)与已有版本保持一致,原有程序不做改动,可以在新平台上
运行,且行为一致;移植兼容性(migration
compability),就是要求原有的程序可以逐步迁移到新的平台,而不是要改相关模块都必须改。以泛型为例,如果有两个不支持泛型的模块,用
collection进数据交互,当其中一个模块升级到支持泛型后,是不会对另外一个模块产生影响的。
其实不仅仅是java,任何一个软件系统,随着塞入的功能越来越多,都会逐渐变得臃肿不堪,因为没有哪个架构师有长线预测未来的能力。C的经典,是因为其语言特性的简单和时间稳定性,如果要把泛型、闭包、垃圾回收都加入到C,那么C就不再是C,而是C#。
不过,对于开发人员来讲,我觉得没有必要悲观,也没有必要怀疑java的未来,或者准确的说,不要怀疑JVM的未来,java正在从一种语言
(language),变成一个平台(platform)。Java7的虚拟机对多种动态程序语言增加了支持,也充分说明了sun(或者说oracle)
的意图:java不是唯一,java和其它jvm兼容的语言也不是对立的,平台掌握在我手里,那么当然是语言越多越好。
但开发人员也应该做出适当的调整,那就是应该分出一部分精力关注一下JVM的规范和其它语言的特性,既然有更多选择,那么也应该充分发挥各种语言的强项,拿合适的技术做合适的事情。
也许再过若干年,我们会更关注JVM的版本而不是java的版本,java语言,也许就会变成一个参考实现(reference
implementation),就像glassfish之于J2EE;或者,我们可以将java/groovy/scala各种语言真正无缝集成在一个
源文件中(就像jsp和html一样)也为未可知。
未来总是美好的,您觉得呢?
分享到:
相关推荐
Java老矣,尚能饭否?各类编程语言横空出世,纷战不休,然而 TIOBE 的语言排行榜上,Java 却露出了明显的颓势。这个老牌的语言,未来会是怎样?
三星从note5,Galaxy S6 Edge+S6开始支持无线充电,苹果也在2017年秋季发布了iphone8/8p/X无线充电手机。在两大手机品牌的强力背书下,2018年春华为,小米等国产手机纷纷推出无线充电手机,无线充电将逐步成为手机...
这份报告包含了技术人员正在用的编程语言、应用程序架构、应用服务器、运行时平台、框架技术、IDE、JRE/JDK版本、数据库、部署模型、构建工具和虚拟化工具等。 小编整理了这份报告(报告地址:...
按纯技术的分析,从5522点下来,按照本ID的理论,线段下跌结束后,中阴形成1分钟中枢,那么,最坏的情况,就是这中枢是1分钟下跌的第一个中枢,如果这样,这跌势还
刘芹:迅雷长教训 YY差点黄 雷军尚能饭否.docx
刘芹:迅雷长教训,YY差点黄,雷军尚能饭否.docx
外资疯狂涌入 中国自主新能源车“尚能饭否”.pdf
20210507-开源证券-投资策略专题:老龄化的估值研究系列之消费篇,尚能贵否.pdf
一、关于Java生态圈 二、Java 老矣,尚能饭否 三、JDK 各版本主要特性
投资策略专题-老龄化的估值研究系列之消费篇,尚能贵否.rar
李明哲尚能2.zip
Java JDBC数据库编程,英文版本
java笔试题大集合及答案,另有些公司的笔试题目!
初中语文文摘情感母亲尚能倚门望
Java2 学习指南,个人感觉不错的!
设计模式教程(Java描述)
sun公司sun的java实例手册!
华为笔试题目!给大家个参考!
4.60分-69分:能运用所学知识,论点基本正确,材料尚能说明问题,文字尚通顺,论证基本正确。 5.60分以下:对问题阐述不清楚,论点有错误,论据不准确,逻辑混乱,文字不通顺,不符合毕业论文的要求,基本抄袭或窃用...
ldapbrowser是使用java编写的ldap客户端工具,跨平台支持,轻巧易用。