说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Java 与 .NET 的平台发展之争

HTML文档下载 WORD文档下载 PDF文档下载
Java 8即将正式发布,开发者Andrew表示,Java在某些特性上还是落后于.Net。比如,Java 8中最令人期待的Lambda表达式,在2007年发布的.Net 3.5中已经存在了。此外,Java的发布周期也越来越长,这是什么原因导致的呢?

CSDN/编译  Java 8即将正式发布,从早期版本中,我们已经可以领略到一些令人兴奋的特性。但是开发者Andrew C. Oliver表示,尽管如此,Java语言在某些特性上还是落后于.Net。比如,Java 8中最令人期待的Lambda表达式,在2007年发布的.Net 3.5中已经存在了。他认为,.Net已有的和即将到来的特性要比Java8优秀得多,如果Java 9再不做一些大的改进,那么Java落后于.Net就不止一点点了。


关于更新速率

微软有能力做出更快的改进。我记得在很早期的时候,微软能做到每周都更新数据库API:从ODBC、RDO、ADO到OLEDB等。自从出现了.Net之后,微软便达到了一种前所未有的更新速度。

但是Java为什么落后这么远?在早期的时候,Java的发展也是非常快速的,从Java 1.0.2 到 Java 1.1,仅仅一年时间,我们就看到了Java彻底地改变。从Java1.1到Java 1.2只用了一年半时间,而Java 1.2.2只用了7个月的时间(这是一个重要的版本,只是使用了一个小版本号)。而在10个月之后,具有关键意义的Java1.3问世,这也正是Java发行的第一个带有垃圾回收的版本。

Java 1.4为我们带来了NIO和正则表达式,但在之后不到两年的时间里就被取消了。Java 1.4.2版本带来了用于多核环境的垃圾回收器。Java 1.5带来了可用于生产环境的并行和并发GC(垃圾回收)特性,它还添加了更重要的并发和NIO功能,不过这一过程花了一年多的时间。

总的来说,Java还是有不错的表现的,Java 6使锁变得更廉价,但其在本质上和Java 1.5是一样的,还是让用户多等了2年时间。Java 7是第一个对底层VM技术做出重大改变的版本,同时还给用户带来了invokedynamic特性——用于在JVM上更好地连接其它语言,但是在两个大版本的更新之间用了大概5年时间,这个进度着实有些太慢了。


为什么Java进展缓慢?

对于这个问题有一个简单的解释:Sun并不是一个实力超群的公司。Java创造于互联网繁荣时期,而那个时候Sun正在出售Sparc业务。

之后,互联网经济不景气,Sun决定持续加大其在硬件业务中的投入。Sun比较擅长创建生态系统,但它就是无法创造出用户需要的产品。Oracle是Sun的后继者,擅于彻底毁坏生态系统,最终吞并/摧毁圈内的同行,还会开发出高利润的产品来取代同行。

Oracle曾在一份简洁的公开声明中称:“我们都知道,由于各种商业和政治原因,该版本(Java 7)花费了不少时间。”

当然,在分析Java的问题上,我们还必须考虑Sun公司的财政困难以及Java系统周边的东西。Sun公司违背了其提交Java进行标准化的初衷,它创造了自己的“标准”委员会,即JCP(Java社区进程)。随着时间的推移,JCP尽管在一定程度上已经开放,但是无论是Sun还是现在的Oracle,都拥有绝对的否决权,它们可以忽略规则,做任何想要的事情。

什么阻碍了JCP?不是开放性,而是利益冲突。我记得当时参与EJB3规范制定的某个供应商,它习惯延迟规范的进度。这是为什么呢?这些供应商需要购买或开发一个产品来集成到它们的应用服务器中,如果下一代JavaEE规范已经发布,那么它们也必须尽快推出产品,它们不希望比市场晚。

协调产品的发布,对于一个公司来说都有些难,更不用说几个公司了。因此,我认为Java最大的问题并不是由于JCP造成的。

抛弃或分离一些东西

Sun已经成为了过去时,现在Oracle是“老板”,那么为什么Java版本的发布周期仍然需要这么长?最简单的解释是——Java太大。大项目往往意味着进展比较缓慢,且充满风险。下面我们就来看看如何将Java变得小一些。

首先,Oracle必须摆脱其“心爱”的客户端技术。当然,目前还没有更好的Swing和JavaFX的替代品,但是使用这些技术意味着需要把你捆绑在Oracle的平台上——至少目前是这样。

我尚不清楚,目前JavaFX或客户端Java为Oracle带来的战略上的意义是什么,它们似乎被设计用来和VB6、Flash或一些4GL(第四代语言)进行竞争的。在现代的、多平台的环境中,大部分人会认为触摸和滑动操作会更酷一些,而JavaFX与这种趋势是不相匹配的。为什么我们需要使用客户端Java来阻碍服务器端的发展,并且还有可能伴随着各种风险,比如持续数月的Java零日漏洞安全问题以及关于如何禁用Java的讨论。

如今Java语言已经不再和Java平台一样重要。从Java平台中砍掉Java语言,并根据自己的时间表进行发布,这对于Oracle来说可能更容易——Oracle推出的开发工具不是Java业务的重要组成部分,并没有为大部分的Java开发者所使用。

Java平台上有多种语言,比如JRuby、Scala等等。以高性能和可扩展的方式来支持这些语言和技术,对于云计算来说非常重要。如果云计算是未来,那么Oracle应该首先考虑Java平台。而目前所支持Ruby、Scala、甚至Node.js的Java平台似乎是一个“锚”,而不是产生创新的“引擎”。

比起MarkReinhold(Java SE规范领导者,目前在Oracle公司),我更希望由Charles Nutter(JRuby创始人,目前在Red Hat公司)和Martin Odersky(Scala创始人,目前在Typesafe公司)来决定在Java平台中添加哪些特性。我并没有不尊重Mark Reinhold的意思,但是一些证据表明,在很多与Java语言合作的项目中,Java语言拖慢了项目的进度。

对于Oracle领导的Java来说,事情发展不会那么顺利,很多Sun之前的决议现在仍然在困扰着我们。我的建议是,抛弃客户端Java,独立出JVM和Java语言的发布周期,致力于将Java作为一个平台,而不是想一次性地解决所有问题。

英文来源:Java faces tough climb to catch up to .Net

创新工场联合创始人汪华:移动互联网时代的跃迁式增长 阿里巴巴集团UC移动事业群总裁俞永福:AMAP Inside——更专业、更开放 《程序员+》移动应用上线 启动“2014 MDCC十大人气应用/产品评选活动” 微软开发体验与平台合作事业部大中华区DX部门总经理Srikanth Raju:基于云的跨平台开发 Facebook平台工程合作部亚太区总经理张博:通过Facebook构建下一代移动应用 Vungle工程副总裁Wayne Chan:移动视频广告的未来 友盟副总裁焦岳:2014移动互联网行业趋势&大数据的行业价值与运营支持 联发科技创意实验室副总裁Marc Naddell:以小博大的可穿戴方案 用友软件股份有限公司高级副总裁谢志华:企业互联网移动化触手可及 【MDCC 2014】英雄会晚宴——厉兵秣马,再上征程 移动开发技术与平台峰会(上):流量优化、数据管理、IM、LBS与跨平台开发 【推广、盈利与投资论坛】探寻推广与盈利新趋势 【企业移动化论坛】翻山越岭,创新突围企业移动化 解读微信与开发者双赢的开放能力 2014年10月操作系统份额:Windows 8.1份额喜人,Linux跌惨了 智能硬件峰会(下):苹果、微信、小米带给移动医疗产品开发的启示 移动游戏峰会(下):从端游转型手游、如何做一款不一样的游戏 移动游戏峰会(上):小团队如何做出大制作、游戏防作弊攻防战 深圳微信开发者大会:拒绝概念 这次只谈“怎么做” AMD应邀出席HPC China 2014,重磅推出新一代Firepro-S系列高性能显卡 你就是主角,MDCC 2014交流对接活动回顾(组图) 解读最具O2O属性—哈根达斯微信企业号的成功之道 值得Java开发者参与贡献的十个开源项目 LokiJS:纯JavaScript实现的轻量级数据库 OpenStack第七次北京Meet Up:谈私有云现状 中国电信携手电商打造跨界O2O联盟 【MDCC 2014】移动开发技术与平台峰会(下):系统演进、应用数据泄露风险 惊喜太多 IntelliJ IDEA 14正式发布 欧派、南航、招行、哈根达斯等加盟 深圳微信大会第二批讲师议题公布 【MDCC】用友高级副总裁谢志华:企业移动化的变革与挑战 HTML5定稿了,为什么原生App世界将被颠覆 救命啊!开发gis系统需不需要后台数据库 散装赛扬III配的原装Intel风扇的问题 急!!!百分求解window api中CHOOSEFONT与LOGFONT关系。 问一个vc中CRecordset定义问题 怎么通过程序改变REMOTEDATACTL的属性? 请问如何在JSP中实现邮件的收发?(涉及到密码验证的问题)我已经郁闷很久了! 如何得到另一个进程中的线程正在使用的tcp/ip端口? **好像有一个网址可以自由上传30M以下的软件,请问有谁知道这个网址?????** Unicode的问题???? db 库文件被破坏,请教高手? 本人刚接触vc,紧急求助! 请问,如何将简体字的网页,转换为繁体字的网页? 请教vb3秒精确定时问题? 哪位大侠能在今天内急救!!关于asp.net的数据验证和数组传送问题 lihonggen0(李洪根,用VB,标准答案来了) 密码被人盗用 在Delphi中用ADO怎样连接Excel表 x++等的问题。 当一个数据库数据更新后如何通知所有连接到此数据库的用户来更新自己? 一个有趣的问题 奉献100, 现在手头有个程序,关于附件上传! 如何判断A字符串中是否包含B字串? 做个类似的邮件发送程序 快快就我 怎样同时新增主从两张表的数据? vb.Net中的几种类型集合中,那种适合于用Index和Key来索引?我怎么觉得.Net的CollectionBase还没有vb6的Collection好使? 为亚洲雪耻,为中国队加油!! 紧急求助:在那儿可以找到关于字体文件的文件格式!!! 测试adoconnection是否已关闭 请教各位大侠! 关于表设了密码的问题 开始了吗?开始了吗?北京的高程考试报名开始了吗? 如何自定义数据类型? 图片显示不了了 java 线程,对当前线程(非主线程)调用sleep,为什么主线程(窗口)也没反应了 各位大虾帮忙呀,哪位把下面的文字翻译成准确的英文,200分相赠!!!决不食言!!! 请教:PHP下的事件处理方法 如何通过ASCII码区分全角与半角字符?急! 触发器???:(拜托各位大哥大姐,大叔大伯! 字符串替换函数是什么? 送分 那位大虾帮我翻译一下 急 分不够可以加 为了忘却的纪念! 急急急急急!!!!!!!!!!,Band里的内容过长,如何让它自动的分页??? oicq的窗口title怎么为空了?如何得到句柄? session问题! 用dbgrideh控件,如何实现汇总结果的打印 有关ATL的最基础问题 怎样监控icmp包?用自编的程序 急急急急急!!!!!!!!!!,Band里的内容过长,如何让它自动的分页??? 使对话框最小化渐变到托盘区。 各位高手!!我用的是win2000工作组模式,为什么我能访问别人,而别人不能访问我呢??? 有关文件的读写问题。 北京4月的时候,北极是极昼还是极夜 什么叫等容过程?等容过程中吸收的热量和所做的功如何计算? 热力学热效应计算问题298K将1mol苯(液)在弹式量热计中完全燃烧生成水和二氧化碳气体,同时释放出热量3264KJ,则其恒压热效应QP (KJ.mol-1)约为( B ):A、3268 B、-3260 C、3260 D、-32681mol液体 化学实验——蒸馏,这一过程中一定要使用温度计吗?为什么 热力学第一定律说吸收的热量转换为内能和对外做的功.如果定容加热,做功为0,内能和和压力势能都增加? 热力学问题—体积功的计算带活塞的密闭容器,外压大于内压,算体积功时,为什么用 W=p外*v,难道和内压没关系?气体膨胀时也是这样吗?总是用外压计算?如果我有表述不清的,请指出, 求关于水的作文,600字,急. 1mol任何物质均含有6.02X10的23次方个微粒 1摩尔是阿伏加德罗个微粒的粒子集合体吗、 关于水的600字作文,急用! 1mol粒子的数目为6.02X10 23个,是不是所有的物质1mol都是这么多粒子? 摩尔是物质微粒集合体的质量单位 这句话为什么错了 有关水的600字作文尽快啊 我现在就要 1mol指6.02x10的23次幂 那两种粒子的粒子数加和是6.02x10的23次幂呢 干电池的材料是什么我想知道的是 我们普通使用的5号干电池(一次性电池) 都有什么材料 总的来说就是做一个5号电池都要什么? 生命与水 论文600字左右写出不良现象和节约方法 写出节约水源标语和标志同志们速度!急啊! 将2molSO2和2molSO3气体混合于固定体积的密闭容器中,在一定条件下发生反应:2SO2(g)+O2(g)=2SO3(g),平衡时SO3为nmol.相同温度下,分别按下列配比在相同体积的密闭容器中放入起始物质,平衡时SO3的物质 如题,干电池发热 原因如果在电路中,安装新电池后,电池快速发热,是什么原因 硫酸铜固体与铁钉反应吗? 我与水的作文500字最晚后天上午!写事的~ 容器质量为500g,高30cm,底面积0.01平方米,容积0.0015立方米,当此容器盛满水时,(1)水对容器底部的压力?(2)容器对水平桌面的压强? 如何判断铁钉加入硫酸铜溶液后反应完全 写水的作文 500字 干电池外壳主要材料是什么 化学反应 需要温度计有哪些 将2molSO2气体个2molSO3气体混合于固定的容器中,在一定条件下发生反应2SO2(g)+O2(g)=2SO3(g) 可逆反应达到平衡时SO3为n mol.在相同温度下,分别按下列分别按下列配比在相同的密闭容器中放入起始物 体积为0.001立方米投入装有水的容器中静止后露出水面0.04米,容器底面积0.04平方米,g取10牛/千克1.木块受到的浮力2.木块受到的重力3.投入木块后,容器底增加的压强4.若将此木块投入到某种液体 哪些化学反应要温度计RT 水的进化作文500字关于水的进化 干电池是普通锌锰干电池的简称,一般手电筒中使用锌锰干电池.其中正极材料是——,负极材料是——. 需要把温度计放入溶液中的化学反应 汉语拼音音序和音节是什么? 当底面积为0.05平方米、容积为0.025立方米的长圆筒装满水时,容器对水平桌面的压强为7065帕.问:(1)水对该容器底部的压强有多大?(2)该容器对水平桌面的压力有多大?(3)容器自重为多 摩擦做功产生热量分配问题产生的热量是两个物体平均分配吗,还是怎样分? 1.1 mol任何粒子集合体都含有6.02×10的23次方个粒子 (教材原话)2.我们把含有6.02×10的23次方个粒子的任何粒子集体都 称为 1mol (教材完全解读上的注意事项)3.我们把含有6.02×10的23次方个粒 干电池正极材料是什么? 汉语拼音zhuang的音节音序! 下图表示在密闭容器中反应:2SO2(g)+O2(g)2SO3(g),△H 重为2N,店面积为1×10^-2 平方米的薄壁圆柱形容器内装有5×10^-3 立方米的水,放在水平桌面的中央,g=10N/kg,求:(1)水面下0.2m处水产生的压强p水(2)容器内水的质量m水(3)容器对桌面的压强p 汉语音节ban、da、guang中的a,是三个不同的音素,但却是同一个音位,为什么?语言学相关知识解释. 作文 这是一种幸福(500字)快来不及了! 一定条件下,在2SO2(g) + O2(g) 2SO3(g) 的化学平衡体系中,各物质的浓度分别为 :c(SO2)= 2.0 mol/L,c(O2) = 0.8 mol/L,c(SO3) = 2.4 mol/L,则氧气的起始浓度可能是 (B )A.0.2.4 mol/L B.2 mol/LC.0.8 mol/L D.无法确定 氢氧化钠与氯气反应有时生成次氯酸钠,有时生成氯酸钠.问什么时候生成次氯酸钠,什么时候生成氯酸钠? 汉语的拼音中,什么是音序?什么是音节?例如:拼音 zhu 声调为四声; 拼音 cheng 声调为二声. 以上两个例子都怎么来描述它们的音节和音序分别是什么? 化学平衡压强问题2SO2(g) +O2(g) → 2SO3(g)25°C,2SO2(g) +O2(g) → 2SO3(g),∆G°= -141.8kJ求Kp,需要过程解释 冬季哥本哈根为什么刮西南风 拼音查字典时音节是什么?音序是什么? “对鼓轻敲和重击格一下,两次发出的声音不同的原因是音调不同.”为什么,不是响度吗? 为什么赤壁之战中明明冬天没东南风都来怎么又刮东南风的 郑思肖的画菊的内容情景和精神品格 对于2SO2+O2→2SO3,下列哪种情况达到了化学平衡状态A:反应容器内,SO2 O2 SO3共存时的状态B;SO2的分解率等于SO3的生成速率的状态C:单位时间内,每消耗2mol的SO2同时生成1mol的SO3D:单位时 不管是东南风,还是西南风,都是我的歌、我的歌.这首中国民谣里面的西北风和东南风指的是?A、龙卷风 B、台风 C、飓风 D、季风 为什么桑拿室里温度高达90度100度却伤不着人?医学上有理论 蛋白质六十度就会变质 那么桑拿室里的温度到达90度甚至100度却又如何解释 请问几个问题,哪些是属于物理学中的声音的响度,哪些是音调!(1)这首歌的调子太高,我唱不上去(2)引吭高歌(3)男高音歌唱家(4)请勿大声喧哗 当北极出现极昼 海南的白昼长还是漠河的,反之当南极出现极昼的时候哪个城市白昼长?如果是极夜 哪个城市黑暗长 冰柜换上压缩机后,头三天结霜正常,使用后不结霜,反而结冰,排气管温度过高,高达100度,这是为什么 铁和硫酸铜溶液反应,覆有红色物质的铁钉与原来铁钉相比,质量 现代汉语中有什么方法能快速准确地确定一个音节中的音素个数? 有机玻璃和聚碳酸酯,是什么关系? 热力学中两个不同过程功和热的比较373K标准压力下的1mol水经下列两个不同过程达到373K标准压力下的水蒸气:(1)等温等压可逆蒸发(2)真空蒸发.这两个过程中功和热的关系( )A W1>W2 Q1>Q
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘