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

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

第七届中国云计算大会 | 首批主会演讲嘉宾和议题公布(表) 安沃传媒创始人王旭东:开发者从移动广告获利的黄金时代已经来临 【舌尖上的CTO】砂锅馄饨的交付件 微软新Visual Studio Code开发工具支持Mac和Linux 科技新创公司想做大?从CNN记者跳槽Snapchat谈起 Java二十年特别奉献:晒博文、赢大奖! 《近匠》华为创新总监蔡绪鹏:智能手表的三大感知与未解难题 从Samurai-Native框架开发谈React Native Qualcomm公司李申:Vuforia打破AR设备界线 物与物的互通:解析Thread、AllJoyn、OIC、Bonjour的特点 《天龙八部3D》中Unity使用介绍 微软推出ManifoldJS,Web App自动转成各平台本地App 专访庄晓丹:Java程序员眼中的Clojure 全面解析ECMAScript 6模块系统 七牛技术总监陈超:记Spark Summit China 2015 Project Tungsten:让Spark将硬件性能压榨到极限 Android手表在中国这样落地 ART运行时Foreground GC和Background GC切换过程分析 开创未来的关键:是什么造就了硅谷?(上) 微软前员工:开发Apple Watch应用的27个技巧 Apple Watch应用开发:从再造墨迹天气谈起 Java二十年特别策划:有奖征文,评选结果出炉! Zen=禅道:图解AMD技术战略转型 从友盟微社区看Android第三方SDK架构实践 无创客 不青春!2015全国大学生移动应用创新大赛在京启动 响应式Web开发,必懂媒体查询(系统理论+实战教程) 实例剖析:如何用Foundation For Apps创建完美Web应用 【舌尖上的CTO】兄弟肉夹馍的开发运维一体化 开创未来的关键:是什么造就了硅谷?(下) 安全漏洞影响2.5万iOS应用?AFNetworking维护者发布回应 《近匠》专访AbleCloud李海磊:IoT平台求变 MSHFlexGrid的分层记录集问题 关于NMHTTP的问题,急急急!!! 请问哪里有支持 ASP 的服务器下载?(空) 为什么我的硬盘找不到了呢? 如何在sqlserver7中实现ID字段自动递增?(SOS) 为什么98下可以到2000下不行了.关于openfilename???????????????????????????? (困惑请教 )关于内存释放的一些问题! 数据库操作出错该如何避免???? 我是第一次来到CSDN,大家多关照! YYSUN关于大富翁论坛的解释(从水母看到的) vb 访问SYBASE的问题 支持北京伸奥的朋友,进来签个名吧! 怎样截获一个应用程序的消息? 数据结构得答案 大连的软件人员工作环境怎么样? 不好意思,小弟又来麻烦大家了! 上次的文章到那儿去了? enmity,进来,我给你结帐 enmity,进来,我给你结帐!! 各位侠客帮忙啊,重新装系统出了问题! 将10进制转换成16进制的函数是什么啊? VC高手,怎样以编程的方法实现磁带机的Backup 和 Restore. enmity,进来,我给你结帐.共200分 支援白菜300分,支持白菜个人网站建设:))) CMM 的缩写是什么? 想和大家讨论一下怎样系统的编制软件 如何实现和Word、CorelDRAW同样效果缩放位图 请问各位大哥大爷大妈大。。。。。。。。。。。。。哪里有支持 ASP 的服务器软件下载 我该如何控制IP地址??高手请进。。。 弱弱地问:关于SQL server中的中括号。 各位侠客帮忙啊,重新装系统出了问题!! 一点点小问题????? 请问在 WINDOWS98 下面,除了IIS,还有没有支持 PHP 的服务器软件呢? 在ADO中如何获取表名 关于ASN树的问题(snmp中的MIB的拓扑树) 你是高手你进来!!!!! 各位的顶级域名都在哪申请?价格/速度如何?大家都来说说! DirectX8的MultiFileReader过滤器怎么找不到? 关于用VB显示ado数据库中的图像字段问题 大家来谈谈Msdn如何有效利用 请各位帮忙查看我这段程序错在哪里 , 我是照书上做的 , 可就是无法保存. SQL plus 为何无法登录?? 谁要下载msdn? 紧急求救!寻找工作! 最新新消息~~~~~~~台灣地區中午地震最大震度花蓮市5級 有没有大连的公司要俺? 请教大家!!!java如何实现多重继承?接口该如何使用?份数可以再加,只要我明白了 怎样以编程的方法实现磁带机的Backup. 愿者请进,请各位留下自己的QQ或E-mail,以后大家可以多多交流!!! solaris unix8 的一个问题 asp是用什么软件的阿?我用了interdev,可是开始新建项目时就不行,叫你输入serve时,总是不对?应该输什么啊? 各位帮帮忙 可不可以告诉我在那里可以看到谷歌地球啊? 谢谢 到底月球上有没有外星人 用阴影在图中表示出5分之2公顷 有2公顷5个格子,怎么画? 谷歌地球飞行模拟器怎么用 月亮上有没有外星人呢? 图中的长方形面积表示2公顷,请用阴影部分表示出三分之二公顷 月球上发现5亿年前的飞船, 月球里真有外星人吗?据科学家发现好象有 在图中用阴影表示出5分之2公顷 在月球上已经坠毁1亿年的巨型飞船,各国争相登月就是为了研究它 有这回事吗? 月球上有外星人吗? 在图中用阴影表示出7/12公顷.急 美国宇航员在月球发现15亿年前的飞船是真还是假? 月球有外星人吗? 有一块3公顷的地,把它分成7份,用阴影表示出7分之9公顷,该画多少份, 在谷歌月球上那个月球飞船残骸的坐标是多少? 才下了谷歌地球,有月球火星的那海洋怎么没有呢?看到错误的标记点我如何提示出这个错误呢? 七分之三表示吧【 】平均分成【 】份,取这样的【 】份,它的分数单位是【 】,再加上【 】个这样的分数单位就是3. 谷歌地图好还是谷歌地球好? 在谷歌月球上那个月球飞船残骸的坐标是多少? 如何用鼠标操作谷歌地球的飞行模拟器? GOOGLE EARTH谷歌地球储存所有地图文件的服务器容量有多大?如题.GOOGLE EARTH的地图那么详细,要保存下来一个地球,需要多大容量的硬盘? 谷歌上的月球背面的外星飞船坐标是多少?首先强烈谴责这段视频的制造者,连个坐标都不给,它断子绝孙! 谷歌地球飞行模式进不去,进去总提示错误 7月22日日全食时间 要详细的全国各个地点的时间 美国的阿波罗20号在月球上发现飞船和外星人,这个有可信度吗?是不是太荒唐了.我本人不相信这个事.从视频上看我认为也不应该是真的.但我希望他是真实的,大家都谈谈这个话题从目前人类 谷歌地球飞行模拟器刚飞起来就各种几千度的旋转,然后空中一上一下,时速从200-800不等,高度从3000-9000不等,来回转啊转,然后就坠毁了……这东西到底怎么用啊……求解 2009年7月22日日全食时间我们衢州开化看的到日全食吗 美宇航员称在月球发现巨大外星飞船残骸 谷歌地球飞行模拟器出错每次一打开飞行模拟器,就出现这样的对话框,仔细看一下文件路径(划红线的部分)文件夹下边的子文件夹用“/”分隔,划红线的路径为什么用“\”分隔?谷歌地球抽 浙江7月22日日全食具体时间浙江7月22日出现日全食具体时间具体指上午级时或中午几时或下午几时 月球是外星飞船么? 谷歌地球飞行模拟器怎么用操纵杆我的上面没办法打勾,怎么补救 2009年7月22日日全食具体时间1.在日全食带吗?(山西南部)2.具体时间(具体到分)回二楼:临汾市襄汾县 阿波罗11号飞船的宇航员在月球上安装了一个什么? 35*(3/35-2/53)*53简便计算过程 7月22日日全食上海的具体观测时间顺便问一下,什么时候戴墨镜,什么时候可摘掉(答者加10分)回答要有重点好不好,不要给我一大筐东西 阿波罗11号之前还有什么宇宙飞船拍摄到过月球的表面吗? 将0.75,0.25,0.125,0.375,0.625,0.875化成最简分数 谷歌地球上,火星和月球上面的国旗是什么含义?还有火星上2个小绿人的标记怎样解释? 阿波罗11号真的上过月球吗?月球上的日夜温差很大的,白天几百慑氏度,夜里零下几百度!一般的金属在这种温差下都是要分解的!美国人的太空车的金属能熬住这么大温差?太空人的装备能熬住? 1+2+3+4.+99等于多少 为什么谷歌地球看到的图像不像是真实的? 美国的阿波罗20号飞船从月球带回外星人的尸体,是不是恶作剧或骗人的? 3分支4-(-7分之8)-2-(+3分支1)-7分支1 下载的谷歌地球安装不了出现这个画面 这是为什么? 谷歌地球上有关麦田怪圈或是UFO坠毁或者沉船的座标! 2002/1×3+2002/3×5+2002/5×7+2002/7×9+2002/9×11 简便计算 谷歌地球可以看立体照片了?最近我在使用该软件观赏美国地区时无论是在城市市区里还是在州际公路上都可以显示立体图像,就仿佛你是站在地面上观赏周围景观,而不是像以前只能从上往下 我用谷歌地球的时候,在非洲好望角上有一个照片(球形的),里面发现了一个酷似UFO的东西, 1—2—3+4+5—6—7+8+9—10—11…+2001—2002—2003 求简便运算过程1—2—3+4+5—6—7+8+9—10—11…+2001—2002—2003 求简便运算过程 求快速. 谷歌地球中怎么弄立体图形 这个是不是UFO啊!我用谷歌地球6.2看到的,是在美国,大家看下到底是神马? 2002/1×3+2002/3×5+2002/5×7+2002/7×9+2002/9×11简便计算 谷歌地球如何才能看清图像 月球上有没有外星人 7分之四乘3分之2加7分之4 谷歌地球怎样才能看到3D图原来在右边还有滑标,不知咋搞的没有了,咋弄出来呀? 月亮上有外星人吗? 4分之3乘( )=( )乘8分之7=( )+7分之4=( )-2分之1=1
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn