分享
 
 
 

Java比.NET更好的101条理由

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

我在http://www.manageability.org网站上偶尔看到这篇文章,觉得很有意思,对广大的开发者也算是个指引,所以翻译了出来。虽然有一些理由在我看来并不是十分正确,但大部分都是很有道理的。有些地方我加了一些说明,主要是我的看法和引证。

下面就是该篇文章的译文:

我列出了一个清单,做这个清单的原因主要来源自“Mozilla浏览器能做但IE不能做的事情”。说101条理由显得有些雄心勃勃,然而给予一个高的目标总是一件好事。如果不是这样,那么你总会放宽成功的标准。

我已经收集了71条理由。

1. 运行于多个平台,从最小的设备到最大的大型机。

运行在多个平台,从智能卡、嵌入设备(JStamp),手机(诺基亚、摩托罗拉、爱立信等等)、PDA(Palm、Symbian、Sharp)、笔记本电脑和台式机(MacOS、Linux)、服务器(基于UNIX)、到不停止运行的大型机(IBM)。

2. 运行动态语言。

运行象Python(JPython)、Scheme(JScheme、SISC、Kawa)、Ruby(JRuby)、Smalltalk(Bistro)这样的动态语言。对比的是,移植到.NET上的只有一个Python的商业开发工具(译者注:是ActiveState公司出品的,python.org也出了一个在.NET平台上运行的版本,但这个版本不是以first-class方式出现的。以前曾听过ActiveState是被微软控股的,如果这样,它积极响应.NET倒是很正常的事。),而且性能让人失望。此外,对比CLR和JVM也会得出相似的结论(译者注:这个我并不认同)。

3. 在一个平台上编译可以运行于另一个平台

Visual Studio.NET和.NET SDK最终用户协定已经指明通过它们编译的代码不能运行于非微软平台。

4. 更小的运行时下载

JRE的运行时环境下载只有8M,而.NET则超过它的两倍(例如20M)。

5. 没有强制升级,没有签署费用,没有软件保险费用。

有多少MIS组织被微软严格的许可协议掌控着?

6. 同一台计算机上可以运行多个版本的VM。

同时运行JVM的多个版本在同一台计算机上是很常见的事情。这在你想测试你的程序在不同版本的JVM下运行的情况时是很有用的。但在.NET上呢?

通常基于微软技术的产品都需要几台计算机运行不同版本的Windows去做测试。事实上还有一个很大的问题,那就是微软甚至限制许可去用VMWare(允许某个产品运行在多虚拟机上),为了它的6000个销售员(参见http://news.com.com/2100-1001-272789.html?tag=rn)。

7. 开源社区的巨大革命。

庞大的开源项目代码的存在价值是不能被忽略的。这提供给了开发者一个巨大的可重用的代码库。而事实上许多.NET的开源项目都是重写了Java的项目而已(译者注:这是一个事实,比如.NET上比较著名的几个开源项目NAnt、NDoc、NUnit等等)。

8. 商业质量的低成本IDE

Eclipse和Netbeans开发环境是免费的,并可用于任意类型的软件开发。JBuilder和JDeveloper在教育领域上的使用是免费的。而Visual Studio.NET则需要花费500美元。而且,如果你认为SharpDevelop是属于商业软件,那么继续这样认为。(译者注:SharpDevelop是一个开源的基于C#编写的IDE,但它的许多组件都是.NET FrameWork SDK提供的,比如属性编辑器等等,而且它包含了商业组件,如Magic那一系列的控件,我曾经研究过SharpDevelop的源码,具有一定的参考价值,但和Eclipse的意义相比,天壤之别。)

9. 更多的职位需求

在Monster.com上查询一下会很快发现Java的职位比C#的多十倍。事实上,许多C#的工作也需要具有Java的技能。

10.对遗留系统具有更好的更标准的集成性

JCA(Java连接器架构)是连接企业信息系统(EIS)的一个标准,JCA支持操作如SAP、IBM CICS、PeopleSoft、Oracle、Siebel、Screens 3270、AS/400, Unisys, ADABAS-C, VSAM, Codasyl, IMS, Tuxedo等等。这样级别的集成性在.NET上并不具备。

11、制造商和技术支持的更多选择

Java技术被许多制造商支持,这样你可以选择更好的符合你项目需求的产品。Java标准API总是设计成支持多种不同的实现。(译者注:SUN曾经说微软是在做一个小蛋糕,自己吃掉大半,而SUN是在做一个大蛋糕自己吃掉一小部分)。

例如JMS(Java消息服务)标准被不同的制造商如IBM、TibCo、Progress、SpiritSoft、Fiorina、Swift、Open3、JBOSS等支持,你可以有选择任何一款适合你的产品,而在微软的平台上,你只有选择MSMQ。

12、编译成机器码

Java有几个编译成机器码的解决方案,编译成机器码主要是为了保护知识产权或提高运行质量。TowerJ、Instantiations的Jove、Excelsior JET和GNU GCC都提供了编译成本地机器码的解决方案。(译者注:编译成机器码在很多时候都不是好的提升运行效率的方式,而JIT的好坏才应该是关键,所以我认为这一方面倒是微软的JIT更出色一些,这主要是因为.NET的字节码设计的更合理先进一点。但这也是牺牲了跨平台性而得来的。)

13、未来的考验

Java可以胜任未来的考验,或者说能够导向未来。这样你现有的代码将不会过时,为什么?因为我能运行Java在今天和将来的计算机上。你不能确保微软的.NET也能够做到这一点。一个鲜活的例子就是他们对VB6的支持,现在VB6已经过时了。对每个项目来说,能够延续多年是一个至关重要的问题。你想过没有,当微软声称DNA已经过时之前你应用DNA多长时间了?(译者注:DNA大概活了不到两年,呵呵)。

14、企业最流行的语言

………………

下面还有很多条,以后再翻译吧,翻译实在是件累人的事情,如果等不及的话就自己到http://www.manageability.org/blog/why%20java/view上看看,顺便也可以看看《Top Ten Reasons to Use .NET Debunked!》这篇文章

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有