站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题(1~10) (译者:陈佳新)

(1~10) (译者:陈佳新)

摘要: (1~10) (译者:陈佳新)
101 Reasons Java is Better than .NET (1~10)
1. 可运行于多种平台─从行动装置到大型计算机 Java可在多种平台上执行,从智能卡(Smart Card)、嵌入式装置(JStamp)
、移动电话(Nokia、Motorola、Ericsson)、PDA(Palm、Symbian、Sharp )、 笔记型计算机和桌上型计算机(MacOS、Linux)、服务器(以Unix为基础的)、 Non-Stop服务器(Tandem),乃至大型计算机(IBM)。
2. 执行动态语言
Java能够执行像是Python(JPython)、Scheme(JScheme、SISC、Kawa)、 Ruby(JRuby)、Smalltalk(Bistro)这类的动态语言。相较之下商业公司 (译注:ActiveState)对于将Python移植到.NET所做的努力,其结果和效能实在令人感到失望。更有甚者,有的报告在比较CLR和JVM时,最后所得到的结论居然是─它们极为相似。
3. 这端平台编译,那端平台执行
Visual Studio .NET和.NET Framework SDK的End User License Agreements授权文件中都特地指明利用它们所编译出来的程序将无法执行于非Microsoft的 平台之上。
4. 所需下载安装的执行期系统较小
JRE(Java Runtime Environment)执行期系统的下载档案只有8 MB,相较之下 Microsoft .NET Framework Redistributable则是它的两倍有余(有20.4 MB这么大)。
5. 三不原则:不强制升级、不收会员费、不需软件保证费用
回想看看,有多少MIS预算编制硬生生地被绑死在Microsoft严苛的授权策略之 下呢?(译注:还记得上次Microsoft更新授权方式时的情景吗?企业若不加入 新方案,未来将付出更多的费用。)
6. 在相同机器上执行多种VM(执行期系统)版本
在同一个操作系统上拥有多种JVM(Java Virtual Machine)版本并且同时执行是很常见的。当你需要针对不同版本的JVM测试你的应用程序时,这种兼容并蓄的模式尤其方便。试着在.NET中这样做看看。Windows-based产品通常是在数台拥有不同版本Windows的机器上进行测试的。这真是个严重的问题,
事实上,这也就是为何连Microsoft都会授权其6,000名销售员使用VMWare(一 套能够让你执行多种虚拟机器的产品)的原因了。
7. 广大而创新的Open Source社群
存在大量开放原始码的程序代码是非常有价值的,不应被忽视。这提供了开发者一个庞大的陈列展示空间,用以放置可被重复使用的程序代码。事实上,大部分 .NET开放原始码项目都是重写自Java项目(译注:SourceForge.net上的NAnt便是 一例)。
8. 低售价的商业品质IDE
Eclipse和Netbeans这两套IDE针对任何型式的软件开发都是免费的。而JBuilder和 JDeveloper作为教学用途时也是免费的。这跟.NET有着天壤之别,Visual Studio .NET 一套就要价大约$500美元。还有,如何你以为SharpDevelop具有商业水平的话, 劝你还是多多考虑吧!
9. 许许多多的就业机会
在Monster.com上的搜寻结果很快便能够证明出要求会Java技能的工作远较要求会 C#的要来得多出十倍。事实上,有三分之一的C#工作同时也要求必须会Java技能。
10. 对老旧应用程序有较佳的连结标准
JCA(Java Connector Architecture)是一项连结EIS(Enterprise Information System) 的标准。JCA支持对SAP、IBM CICS、PeopleSoft、Oracle、Siebel、Screens 3270、 AS/400、Unisys、ADABAS-C、VSAM、CodasyI、IMS、Tuxedo等的存取。这个层次的连结选择是.NET无法提供的,一个也没有。
(未完?待续)
作者相关文章: 洪志鹏专栏> 流汗播种,才能欢呼收割(收藏) Petstore源码追踪记(3)-商业逻辑处理(三)(转贴) Petstore源码追踪记(3)-商业逻辑处理(二)(转贴)
对该文的评论 人气:2161 Hypergod(2003-2-10 9:48:22)
可笑
ppetmycu(2003-2-9 21:55:53)
如果想挣钱,就要把人家变成笨蛋!Sun 想用Java 来垄断语言!
;) 这是作不到的。
ccBoy(2003-2-9 18:14:10)
1.The support model seems flawed 2.The JRE is very large. 3.Extensions do not support modularity. 4.It is not backward-compatible across minor releases. ……
The JRE is very large. The JRE is significantly larger than comparable runtime environments when considering resident set size (memory dedicated to this specific program). It has been seen to grow to as much as 900M. This has a drastic effect on both performance and resource usage. It also means that multiple JREs present critical resource constraints on the servers for such thin-client systems as SunRays. Typical resident set requirements for Java2 programs include:
Hello World 9M SMC Server 38M SLVM GUI 60M Component Manager 160M TogetherJ 300 - 900M
The largest program in that list is TogetherJ. From the standpoint of resource requirements, TogetherJ does much of what Rational Rose does but Rational Rose appears to function in less than 250M. Startup time is effected as well. For example, on an Ultra10 TogetherJ requires 5 minutes to load and start. SMC, Sun's flagship system admin console, takes between one and two minutes to reach the point that it can be used. Some of this problem appears to relate to the JRE. We do not have the time or money to conduct a serious side-by-side study of Java vs other languages and are therefore calling upon our personal experiences with Java development. The fact that these experiences are hard to quantify forces us to try to support the validity of this concern through existing research.
ccBoy(2003-2-9 17:50:17)
I'm not saying .NET is better but...
This is part of a memo that supposedly originated inside of Sun Microsystems. Solaris is not a priority??? I also love the complaint about new features versus stability of the existing ones - Microsoft gets hammered on this one all the time (as well they should) but this is the first time I've seen this argument used against Java.
We all agree that the Java language offers many advantages over the alternatives. We would generally prefer to deploy our applications in Java but the implementation provided for Solaris is inadequate to the task of producing supportable and reliable products. Our experience in filing bugs against Java has been to see them rapidly closed as "will not fix". 22% of accepted non-duplicate bugs against base Java are closed in this way as opposed to 7% for C++. Key examples include:
4246106 Large virtual memory consumption of JVM 4374713 Anonymous inner classes have incompatible serialization 4380663 Multiple bottlenecks in the JVM 4407856 RMI secure transport provider doesn't timeout SSL sessions 4460368 For jdk1.4, JTable.setCellSelectionEnabled() does not work 4460382 For Jdk1.4, the table editors for JTable do not work. 4433962 JDK1.3 HotSpot JVM crashes Sun Management Center Console 4463644 Calculation of JTable's height is different for jdk1.2 and jdk1.4 4475676 [under jdk1.3.1, new JFrame launch causes jumping]
In personal conversations with Java engineers and managers, it appears that Solaris is not a priority and the resource issues are not viewed as serious. Attempts to discuss this have not been productive and the message we hear routinely from Java engineering is that new features are key and improvements to the foundation are secondary. This is mentioned only to make it clear that other avenues for change have been explored but without success. Here we seek to briefly present the problem and recommend a solution.
http://www.internalmemos.com/memos/memodetails.php?memo_id=1321
lwglucky(2003-2-9 17:26:55)
有点宗教信仰的疯狂,很少看见有人写101个.net比java好的理由,,,微软到底找谁惹谁了????。。。。。。。
archersam(2003-2-9 16:05:00)
以前我用BCB,现在正打算用Java做第一个东东,原因只是我想用Batik库。类似的Savage SVG Toolkit要钱,我不甘心。生活中的痛苦已经够多了。各位,不是吗?
archersam(2003-2-9 16:04:26)
以前我用BCB,现在正打算用Java做第一个东东,原因只是我想用Batik库。类似的Savage SVG Toolkit要钱,我不甘心。生活中的痛苦已经够多了。各位,不是吗?
yarshray(2003-2-9 15:26:37)
呵呵。。。。
让我想起C#必败的相声小品
恩,蛮好看的,继续啊。。。
哈哈。。。。 Cybergate(2003-2-9 15:14:20)
记得有句话叫:一处编写,到处调试
Nightmare(2003-2-9 15:02:18) >更有甚者,有的报告在比较CLR和JVM时,最后所得到的结论居然是─它们极为相似。 就好像在说人和猩猩极为相似,确实如此,但也很不同,看你的标准。 >JRE(Java Runtime Environment)执行期系统的下载档案只有8 MB 是啊,不过运行程序时再去下载n多兆的东东才行
>Visual Studio .NET和.NET Framework SDK的End User License Agreements授权文件中都特地指明利用它们所编译出来的程序将无法执行于非Microsoft的 平台之上。 ms公开了绝大部分.net的源代码,mono项目大部分就是直接用的ms的代码,不过WinForm部分是Windows私有的,所以目前不能在非ms平台上运行。但mono去年就开始WinForm兼容组件的设计了。
>广大而创新的Open Source社群 不要以为只有java有开放源码社区。
java固有java的优势,但不可能比别的东东都好。现在用java的主要都是些巨兽级企业,对于他们的产品来说,java确实是好东东,满口听不懂得专用术语,更显得他们出众非凡。但未必和普通大众扯得上关系。
3332221119(2003-2-9 13:58:38)
据说第一辆火车没马车跑的快......
cattleknife(2003-2-9 13:19:10)
拿一个孩子和一个成年人比较有什么意义,还是分析一下这个孩子是不是有可能长大。
dvd8x(2003-2-9 13:18:00)
1. 可运行于多种平台─从行动装置到大型计算机 Java可在多种平台上执行,从智能卡(Smart Card)、嵌入式装置(JStamp)
、移动电话(Nokia、Motorola、Ericsson)、PDA(Palm、Symbian、Sharp )、 笔记型计算机和桌上型计算机(MacOS、Linux)、服务器(以Unix为基础的)、 Non-Stop服务器(Tandem),乃至大型计算机(IBM)。
.....net 也可以-》 linxu, pda ,smartphone
2. 执行动态语言
Java能够执行像是Python(JPython)、Scheme(JScheme、SISC、Kawa)、 Ruby(JRuby)、Smalltalk(Bistro)这类的动态语言。相较之下商业公司 (译注:ActiveState)对于将Python移植到.NET所做的努力,其结果和效能实在令人感到失望。更有甚者,有的报告在比较CLR和JVM时,最后所得到的结论居然是─它们极为相似。 。。。。。。。。java 只能用java写java 别人可以掉它,.net 可以用 用多东西写.net C# , VB ,Java.....
3. 这端平台编译,那端平台执行
Visual Studio .NET和.NET Framework SDK的End User License Agreements授权文件中都特地指明利用它们所编译出来的程序将无法执行于非Microsoft的 平台之上。
.... 估计很快就会了
4. 所需下载安装的执行期系统较小
JRE(Java Runtime Environment)执行期系统的下载档案只有8 MB,相较之下 Microsoft .NET Framework Redistributable则是它的两倍有余(有20.4 MB这么大)。
。。。 .net 会内带在ms 的OS中
5. 三不原则:不强制升级、不收会员费、不需软件保证费用
回想看看,有多少MIS预算编制硬生生地被绑死在Microsoft严苛的授权策略之 下呢?(译注:还记得上次Microsoft更新授权方式时的情景吗?企业若不加入 新方案,未来将付出更多的费用。)
呵。。。 :) 我有C# 与程序在linux 上不知道要不要钱,要不用GCC算了
6. 在相同机器上执行多种VM(执行期系统)版本
在同一个操作系统上拥有多种JVM(Java Virtual Machine)版本并且同时执行是很常见的。当你需要针对不同版本的JVM测试你的应用程序时,这种兼容并蓄的模式尤其方便。试着在.NET中这样做看看。Windows-based产品通常是在数台拥有不同版本Windows的机器上进行测试的。这真是个严重的问题,
事实上,这也就是为何连Microsoft都会授权其6,000名销售员使用VMWare(一 套能够让你执行多种虚拟机器的产品)的原因了。
同事用 1.0 framework 1.1 beta 好象没问题, 至少 在我的机子上
7. 广大而创新的Open Source社群
存在大量开放原始码的程序代码是非常有价值的,不应被忽视。这提供了开发者一个庞大的陈列展示空间,用以放置可被重复使用的程序代码。事实上,大部分 .NET开放原始码项目都是重写自Java项目(译注:SourceForge.net上的NAnt便是 一例)。
我看到很好很好的vb.net 和c#的code ,
8. 低售价的商业品质IDE
Eclipse和Netbeans这两套IDE针对任何型式的软件开发都是免费的。而JBuilder和 JDeveloper作为教学用途时也是免费的。这跟.NET有着天壤之别,Visual Studio .NET 一套就要价大约$500美元。还有,如何你以为SharpDevelop具有商业水平的话, 劝你还是多多考虑吧!
vs.net 是我看到过最好 的。
9. 许许多多的就业机会
在Monster.com上的搜寻结果很快便能够证明出要求会Java技能的工作远较要求会 C#的要来得多出十倍。事实上,有三分之一的C#工作同时也要求必须会Java技能。
:) 只会java or c# 是没有前途的
10. 对老旧应用程序有较佳的连结标准
JCA(Java Connector Architecture)是一项连结EIS(Enterprise Information System) 的标准。JCA支持对SAP、IBM CICS、PeopleSoft、Oracle、Siebel、Screens 3270、 AS/400、Unisys、ADABAS-C、VSAM、CodasyI、IMS、Tuxedo等的存取。这个层次的连结选择是.NET无法提供的,一个也没有。
我好笨, 这里说的一我也不懂。。 (未完‧待续) 。。。。。。 乱说的, 不要骂我。我最爱linxu +gcc 不是M$
andyddd(2003-2-9 13:17:04)
包治百病的药不一定是好药
IUSR(2003-2-9 12:37:09)
先别看这些评论有的有多片面,先看看Java和.Net的发展历史,您老的Java都发展了10年多了,.Net才出来多久?要是Java现在就被.Net比下去了……好戏还在后面! 不过提出来这些东西也不错呵,是.Net完善的主攻方向^__^
AmpyShccl(2003-2-9 12:04:24)
这又何苦呢?
↑返回目录
前一篇: Borland宣布Java Web服务战略
后一篇: 30分钟内创建Web Service(转)