Java比.NET好在哪里?

Java比.NET好在哪里?

101Java.NET好的理由(1~10) (译者:陈佳新)

101 Reasons Java is Better than .NET (1~10)

作者:John Lambert

译者:陈佳新

1. 可运行于多种平台─从行动装置到大型计算机 Java可在多种平台上执行,从智能卡(Smart Card)、嵌入式装置(JStamp

、移动电话(NokiaMotorolaEricsson)、PDAPalmSymbianSharp )、 笔记型计算机和桌上型计算机(MacOSLinux)、服务器(以Unix为基础的)、 Non-Stop服务器(Tandem),乃至大型计算机(IBM)。

2. 执行动态语言

Java能够执行像是PythonJPython)、SchemeJSchemeSISCKawa)、 RubyJRuby)、SmalltalkBistro)这类的动态语言。相较之下商业公司 (译注:ActiveState)对于将Python移植到.NET所做的努力,其结果和效能实在令人感到失望。更有甚者,有的报告在比较CLRJVM时,最后所得到的结论居然是─它们极为相似。

3. 这端平台编译,那端平台执行

Visual Studio .NET.NET Framework SDKEnd User License Agreements授权文件中都特地指明利用它们所编译出来的程序将无法执行于非Microsoft 平台之上。

4. 所需下载安装的执行期系统较小

JREJava Runtime Environment)执行期系统的下载档案只有8 MB,相较之下 Microsoft .NET Framework Redistributable则是它的两倍有余(有20.4 MB这么大)。

5. 三不原则:不强制升级、不收会员费、不需软件保证费用

回想看看,有多少MIS预算编制硬生生地被绑死在Microsoft严苛的授权策略之 下呢?(译注:还记得上次Microsoft更新授权方式时的情景吗?企业若不加入 新方案,未来将付出更多的费用。)

6. 在相同机器上执行多种VM(执行期系统)版本

在同一个操作系统上拥有多种JVMJava Virtual Machine)版本并且同时执行是很常见的。当你需要针对不同版本的JVM测试你的应用程序时,这种兼容并蓄的模式尤其方便。试着在.NET中这样做看看。Windows-based产品通常是在数台拥有不同版本Windows的机器上进行测试的。这真是个严重的问题,

事实上,这也就是为何连Microsoft都会授权其6,000名销售员使用VMWare(一 套能够让你执行多种虚拟机器的产品)的原因了。

7. 广大而创新的Open Source社群

存在大量开放原始码的程序代码是非常有价值的,不应被忽视。这提供了开发者一个庞大的陈列展示空间,用以放置可被重复使用的程序代码。事实上,大部分 .NET开放原始码项目都是重写自Java项目(译注:SourceForge.net上的NAnt便是 一例)。

8. 低售价的商业品质IDE

EclipseNetbeans这两套IDE针对任何型式的软件开发都是免费的。而JBuilder JDeveloper作为教学用途时也是免费的。这跟.NET有着天壤之别,Visual Studio .NET 一套就要价大约$500美元。还有,如何你以为SharpDevelop具有商业水平的话, 劝你还是多多考虑吧!

9. 许许多多的就业机会

Monster.com上的搜寻结果很快便能够证明出要求会Java技能的工作远较要求会 C#的要来得多出十倍。事实上,有三分之一的C#工作同时也要求必须会Java技能。

10. 对老旧应用程序有较佳的连结标准

JCAJava Connector Architecture)是一项连结EISEnterprise Information System 的标准。JCA支持对SAPIBM CICSPeopleSoftOracleSiebelScreens 3270 AS/400UnisysADABAS-CVSAMCodasyIIMSTuxedo等的存龋这个层次的连结选择是.NET无法提供的,一个也没有。

(未完待续)