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

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

Android Permission列表,ADT 0.9.9 bug Android Theme和Styles内部定义解析 Android平台下图表绘制相关方法 Activity类的runOnUiThread方法你用过吗 Android上鲜为人知的UI控件介绍和使用 获取Android手机上的图片和视频缩略图 Android JSON解析示例代码 Android ANR介绍与避免 Windows Phone 7 SDK完善度不如Android m3 Android中使用定时器TimerTask类介绍 控制Android LED灯颜色代码 Android应用Icon大小在不同分辨率下定义 Android控件美化Shape你会用吗? Android屏幕截图之View方法 Android开发者应该保持以下特质 Android Widget开发模板 Zipalign使用方法-SDK中的APK文件优化工具 Android蓝牙控制之2.X或以上 Android数组排序常见方法 使用OpenGL开发一个指南针 Android自绘GridView控件 Android平板开发注意事项 Android控件TextProgressBar进度条上显文字 Android内存管理-SoftReference的使用 反射在Android开发中的利弊 intent调用代码总结二 Android缩略图类源代码 Android多人项目开发指导 AsyncTask对比Thread加Handler Android Drawable叠加处理方法 android.os.Debug调试工具使用方法 怎样判断tclientsocket已经联到服务端 test 哪里有Visual Studio .NET 正式版下载 如何让程序出现异常自己处理,不让系统处理 超星图书阅览器注册问题?请人帮忙! 在日文做作系统中配置中文环境 我想扫描网络上发过来的所有IP包,想用RAW_SOCKET,那里可以找到这方面的文章? 请问如何实现窗口或者面扳的平滑移动,类似VS。NET中的效果 ACCESS的问题 能不能不工作找兼职或接项目,应该怎么找?有经验的请多多帮忙,重分相谢。 请关注!一个下拉菜单的显示问题! datastore 出错~~~ 请问如何在HtmlView中得到服务响应的head数据 如何不加载多文挡里的菜单 关联的两个下拉表单! 如何播放媒体文件,多多益善! 谁能给出c++下的STL中的"集合类"的定义使用啊? 奇怪的错误 能不能不工作找兼职或接项目,应该怎么找?有经验的请多多帮忙,重分相谢。 关于工作流的一些问题! 各位大侠帮忙! 如何判断tclientsocket连上服务端 VBScript如何将字符转换成Unicode编码? 能不能不工作找兼职或接项目,应该怎么找?有经验的请多多帮忙,重分相谢。 atom??? 关于类的继承中析构函数的调用问题! 请教一下,如何获得两个时间的时间差 请教OnMouseEnter和OnMouseLeave如何实现? 怎样用setTimeout定时关闭一个窗口后再打开另一个窗口?? execute immediate 语句问题 微软起家:关天store events,我在发件箱和已发件箱注册了OnSave事件,但发出去信件时根本就不触发事件!救命呀,我想跳楼!!! 我用几个按钮都可以调用一个窗体,但我想知道当这个窗体被调用时是哪个按钮使他被调用的? 高分求SOCK端口代理软件 一个简单的问题请指教 exit和return的区别是什么? 关于/t控制符 七张蝶的Visual Studio .NET 正式版的CD Key是什么 ——求教 如何让主窗口的toolbar显示在最下方。并加button在主窗口的右方 create table 时怎样设置number型字段默认值为0?? 请大家帮忙,找个C++编译器的下载地址 关于TImage的问题 怎么在sql语句中使用datediff? 能不能让radiobutton同时多选? 如何在服务器数据库数据变化时,在客户端实现同步刷新. 急:请问如何跨网段浏览Samba服务器?? 如何在服务器数据库数据变化时,在客户端实现同步刷新. 链接excel表的连接字符穿如何写 哪位有excel工作表的完整文件格式,请发至localvar@chinaren.com,谢谢 请问:在IE中用Applet时候支持的Java的包有那些,Javax.Swing是否支持,好像不行,那又如何解决?? 帮我看一段程序!为什么他不能提交到指定的asp网啊?在线等待!!!!! 初三物理 运动的快慢试题1.在公路旁每隔1km就立一个里程碑.利用里程碑如何估测自行车的速度?2.地面上立一个杆子,在阳光下测量杆顶的影移动的速度.在这项活动中,除了速度的测量方法外, 电瓶的容量与电压有关系吗?我想买电动汽车,我看好了两种品牌,一是时风的,电瓶容量260ah,电压6v,一是陆骏的,电瓶容量140ah,电压12v,我应该从电瓶的角度看,我应该选哪一种电瓶,请老师们给个 小明身高1.76 m,站在平面镜前3m处,像与小明的距离是__m,如果小明向镜面前进1m,小明在镜中的像的长会______ 1.为了提高铁路运输能力,近年来我国列车已进行了多次提速,某次提速时,A地至B地的列车提速前速度为64km/h,提速后达72km/h,为此节省时间20min,请你算一下A地至B地的距离是多少?2.南京长江大桥 西红柿电池电压的大小和电池两极之间的距离的关系,和两级插入深度的关系 重100牛的水可以产生的最大浮力是多少?为什么 怎么判断用电器短路和电源短路 如图如图,是哪个短路 还是都短路 理由 杠杆省力与否与杠杆的三个点的位置有关,当用力点到支点的距离大于阻力点到支点的距离时是( );下面↓当用力点到支点的距离小于阻力点到支点的距离时是( ) 重100牛的水可以产生的最大浮力 如何判断用电器短路? 高效测评 课课小考卷 七年级 数学【上】 人教版 答案我的答案弄丢了,老师说自己写完,然后对一下答案,但是我答案弄丢了,哪位好心人士来帮下我. 怎样才能洗掉衣服上的干涸的时间较长的血渍?还有油渍呢?或是和电池放久了弄上的电池里的油?都是时间较长的 不是新沾上的 把一些完全相同的砝码挂在一个轻弹簧下,挂一个砝码时弹簧长为10cm,挂3个砝码时弹簧长为11cm,若再加3个砝码(未超出范围),弹簧长为____,弹簧原长为____. 如题 怎样判断短路与用电器短路我想知道的是:怎样才能区分是用电器短路还是电源短路? 数学课课大考卷七年级下答案 当力与物体移动方向垂直时,这个力不做功.这个力指的是什么,是拉力还重力或支持力? ups电源电池放电时间怎么计算? 没有的就别废话了 中国比美国滞后多少年? 4节普通干电池并联起来的电压用电器两端?各节电池两端?n节呢? 北大绿卡课课大考卷数学七年级上人教版答案!(急!) UPS电源可供电时间计算有一台UPS机头,输出功率容量为4200瓦数/6000VA,满负载效率92%.16块12V蓄电池.现在需带的所有设备总和功率约为2800W,要求带电2小时.问蓄电池大概要多少A的.另外,如果参数齐 一部录音机要求电源电压是9伏,若用干电池作电源,则需要将几节干电池串联或并联? 加酶洗衣粉和酵素洗剂有什么区别? 如图,两个弹簧劲度系数分别为k1,k2,滑轮质量不计,组装如图所示的装置,如果把滑轮和两个弹簧等效成一个弹簧,求等效弹簧的劲度系数. 电源短路和用电器短路有什么区别?不都是短路吗?有助于回答者给出准确的答案 一个弹簧下端挂重1N的钩码时,弹簧全长为11cm,挂重5N钩码时,全长为21cm,求弹簧不挂重物时的长度 大学物理题:两个劲度系数分别为k1和k2的轻质弹簧竖直悬挂,弹簧下端用光滑细绳连接,并有一质量为G的滑轮放在细绳上,下降高度△x,这时候将两个弹簧看成是一个劲度系数k的弹簧,求k 重100N的物体放在水平地面上,水平匀速拉动物体时,地面阻力是物体所受重力的0.2倍,求:(1)拉里的大小?(2)此时物体受几个力?(3)用力的示意图把物体所受的拉力和阻力表示出来. 七年级下册数学新课堂AB卷(配青岛版)第十二章B卷答案 重力是恒力,重力做功等于重力与物体在竖直方向移动距离的乘积,那么,拉伸弹簧时,拉力做功怎样计算样计算拉力做功的求和式?是否可以用 F-l 图象下一个梯形的 面积来代表功?拉力做功的 重100n的物体放在水平地面上做匀速直线运动,已知摩擦阻力为重力的0.05倍,则水平拉力为多少N此时物体所受合力为多少N? 现等!新课堂AB卷,A卷 现等!把所有的分显出!我做鬼也不放过你! 用平行于光滑斜面向上的拉力F,使重力分别是G和3G的A、B连个物体都沿斜面向上移动S的距离,拉力做功哪个大照我的理解是,总功等于有用功加额外功,有用功为重力乘其移动的距离,而在斜面上 PTC热敏电阻怎么测好坏? 7、弹簧秤A和B及滑轮组均处于静止状态,F=10N,若不考虑秤重,滑轮重及摩擦,弹簧秤A和B的示数分别为 A.30N和 韩国和朝鲜打仗,美国也来帮韩国了,我好害怕中国也会打仗啊.、 电阻怎么测量 弹簧秤A和B及滑轮组均处于静止状态,F=10N,若不考虑秤重,滑轮重及摩擦,弹簧秤A和B分别为图/> 朝鲜和韩国打仗.是朝鲜赢还是韩国赢呢?美国和中国不插手的情况下. ptc热敏电阻怎样检测是220V和110但是生产厂家说不能用在万用表测试其电阻值以区分110V和220V 如图,物体A重5牛,B重12牛,若滑轮重力和摩擦均不计,弹簧秤的示数为___牛.为什么是10牛,不是17牛呢? 如何计算UPS输入电流和输出电流?输入电流和输出电流的关系?说明原理 为什么欧姆表测电阻时外电阻等于中值电阻时误差最小 若物重4N,重物上升了0.1m,弹簧秤示数2N,计算该滑轮组的机械效率 谁能告诉我一下初三化学人教版哪个有教学视频!要上下册的!还有初三物理人教版!各位谢谢了 3000W家用太阳能发电系统,我需要准备多少光电池,或是多大的面积,或是多少瓦的光电池? 某人用一个距离手高3米的定滑轮拉住重100牛的物体,从滑轮正下方沿水平方向移动4米,若不计绳重和摩擦他至少做了多少功?没有关于角度的问题吗? 在如图所示的滑轮组中,不计细绳的重力和滑轮内部摩擦,物体的重力为10N,物体匀速上升的速度为0.5m/s,此时滑轮组的效率为80%,求动滑轮的重力,拉力F及拉力做功的功率 两组电池并联放电,可是放电电流不同?总放电电流750A,一组500A,一组250A,怎么会那样呢? 洗衣服的学问果汁和油污的实验结果还有油污,菜汁,果汁,血迹,蓝黑墨水的实验结果 如图所示滑轮组,挂上a,b两个物体后恰好静止,若不计滑轮重和摩擦,现在在a,b物体上再分别挂上一个质量相等的小钩码,则装置将会出现( )A.a下降 B.a上升 C.仍保持静止 D.无法判断 压缩机的PTC用消磁电阻可以代替吗? 洗衣服的学问墨汁、果汁、蔬菜汁、血迹用什么最好 王用两个相同的滑轮组(摩擦不计),分别将重力不同的两个物体匀速提高到相同高度,其王用两个相同的滑轮组(摩擦不计),分别将重力不同的两个物体匀速提高到相同高度,其中Gl>G2,则所用 二端消磁电阻可代替三端消磁电阻吗 小明用一个距离手3m高的定滑轮拉住中小明同学用一个距离手3m高的定滑轮拉住重100N的物体,8s内从滑轮正下方沿水平方向移动4m,如图所示,若不计绳重和摩擦,他所做的功和功率分别是( ▲ )A UPS的电池放电电流具体应该怎么算,比如60K UPS 直流480V 厂家给的最大放电电流是160A 请问这是怎么算出来 蓄电池功率和容量和电压是什么关系,容量是总电量吗,那怎么不用w? 浮力 重100牛的水可以产生的最大浮力为()重100牛的水可以产生的最大浮力()A.一定小于100牛B.一定大于100牛C.一定等于100牛D、可以大于100牛答案是选D的,但我不知道为什么.老师要求订正
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘