.Net与Java开发下一代桌面软件的对比。

chouchou 2003-01-30 11:09:51
由于工作需要,要评估用.Net还是Java开发一个桌面应用软件。虚拟平台已经是大势所趋,对于1~2年后的产品,使用虚拟平台应该是合理的。该软件具有较多的窗口和GUI操作,还有相当多的图像处理(该部分将用C/C++编写)。我对比了一些方面,列举如下。我对.Net不是非常熟悉(仅看了《C# windows程序设计》一书),而Java用的比较多,还请各位多多指教,先谢了。

.Net Java
语言特性 C#与Java类似,但有枚举和运算符重载。 据称1.5将加入模板
但我觉得delegate的设计有些牵强。有些
为了要与Java区别而故意设计的感觉。
虚拟机执行效率 高 在Windows下肯定不高
跨语言 可以。但真正实际有用吗? 没有
跨平台 理论上可以,但我觉得WinForms的设计有 可以在Windows、
非常明显的Windows特点。 Linux、 MacOSX上运行
图形图像 GDI+没有明显的优势 Java2D、GL4Java
多媒体 调用DirectX的COM接口 JMF、QuickTime4Java
与已有技术的接口 调用COM容易 较复杂,在GUI方面还
可能不行。
公司实力 强 弱
...全文
357 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
chouchou 2003-02-03
  • 打赏
  • 举报
回复
非常抱歉,5drush(五农民出狗狗),我刚才把分数加错了位置,但好像改不了了。非常感谢你的回复,谢谢你。请原谅我的过失。
chouchou 2003-02-03
  • 打赏
  • 举报
回复
谢谢各位,从各位的指点中学到不少东西。再次感谢。
5drush 2003-02-02
  • 打赏
  • 举报
回复
而且,我怎么感觉跟嘟嘟鱼完全相反,我感觉中国人好多都是盲目的反微软,只要一提起微软,就是技术差,落后,封闭,东西不好用。。。可是当我反问他们一句,为什么人家那么成功呢?他们会说那是因为比尔盖茨是奸商,赚的都是黑心钱。我再问既然微软的东西那么差,你为什么要用WINDOWS呢?他们说那是因为没有钱买APPLE。。。。
这些人昧着良心,每天用偷来的ID号用着盗版的WINDOWS,还大骂微软黑心,盲目的奉承自己从来没有用过的东西,让我觉得很不舒服。
同嘟嘟鱼一样,我也是感觉国外的程序员比较中立,他们不会跟国内一样盲目的反对微软,微软在国外能获得最受尊敬的公司称号,估计这个称号在国内永远不会属于微软。
中国人的一大毛病就是红眼病,谁只要强了,有钱了,他们就看不惯,受不了,心里不舒服。发泄的手段很多,包括当面辱骂,背后说闲话,还有造谣,流言蜚语一起上,不把人家弄得名声扫地,最后跟他自己一样穷一样落魄,心理就舒服了,罢休了。
5drush 2003-02-02
  • 打赏
  • 举报
回复
呵呵,鼓吹JAVA好的人同样是一大堆,嘟嘟鱼刚才不是列举了一大堆支持JAVA公司吗?怎么提到宣传方面又好象JAVA没有人一样了呢?事实上我感觉国内盲目宣传JAVA的人也有很多,而且这根本就是一个相对而言的东西,如果大家都听了doodoofish(嘟嘟鱼)的话,一窝蜂去学JAVA的话,那。NET程序员不是少了吗? :)
VB程序员比JAVA程序员赚得少?我看不见得,这个要跟程序员本身的水平和公司的经济实力挂上钩,不能盲目的说JAVA程序员就比VB程序员工资高。
更何况还有个市场经济的问题,假如。NET程序员工资少,那么采用。NET开发应用的成本就低,公司就趋向于采用。NET,市场上需要。NET的程序员的位置就多,这样不是就把需求又拉上来了吗?
所以试图用市场的需求来说明JAVA比。NET好是没有道理的,你要是真这样认为的话,去学COBOL,RPG,FOXBASE最好了,因为搞这些的人相对更少。
chouchou 2003-02-02
  • 打赏
  • 举报
回复
在MS的推动下,我想.Net会成为开发Windows大部分应用的平台。前面我已经说过了,关键的算法部分都会用Ansi C/C++编写,所以.Net或者Java做的只是一个框架。该产品要在1~2年后才能完善,所以用虚拟平台应该没有什么问题。其实我挺喜欢GTK和Qt的。
zzmen 2003-02-02
  • 打赏
  • 举报
回复
就我个人观点认为java的桌面开发真的是不怎么样,但是大家要注意到j2ee和j2me的价值,比桌面开发就像在天上飞的老膺让它用脚在地面上和马比赛跑。个人浅见,愿各位前辈指教~~~ ^_^
5drush 2003-02-02
  • 打赏
  • 举报
回复
doodoofish(嘟嘟鱼),您老这么大把年纪了,还在这里“忧国忧民”,真是不容易啊,对您老的敬仰之情如滔滔江水,连绵不绝~~~
doodoofish 2003-02-02
  • 打赏
  • 举报
回复
"
......在.net顺利成为ISO国际标准之后,......﹐在各个平台上全面开花,......到时候不懂.net将被视为“文盲”。
SUN公司的前途并不明朗,因为JAVA的标准被SUN牢牢的掌握在手中,......假如SUN宁死不肯交出JAVA的操控权,......,到时候J2EE开发人员会慢慢减少......
"
5drush(五农民出狗狗)﹐你真有戰略眼光﹐小小年紀就對事物有如此判斷力不得不讓人佩服。


chouchou﹐能不能結貼了﹐我想你的問題已經得到回答了﹐多余的話咱就不說了吧﹐你看呢?
5drush 2003-02-02
  • 打赏
  • 举报
回复
我对未来的看法是,随着.net的标准化进程一步步深入,在.net顺利成为ISO国际标准之后,支持.net的公司和社团会越来越多(想想C/C++等ISO标准),在各个平台上全面开花,.net的跨语言跨平台特性让世界上所有的程序员能跨越技术的界限全面展开合作,到时候不懂.net将被视为“文盲”。
SUN公司的前途并不明朗,因为JAVA的标准被SUN牢牢的掌握在手中,所以使用JAVA的公司会担心JAVA的前途是否会随着SUN的陨落而暗淡无光(假如SUN宁死不肯交出JAVA的操控权),相继转向使用ISO标准的.net平台,到时候J2EE开发人员会慢慢减少,剩下的工作重点也和如今的COBOL开发人员一样变成了对旧有系统的维护,这部分人工资相对较高,但是工作机会极少。
doodoofish 2003-02-02
  • 打赏
  • 举报
回复
是不是該結貼了?
w_rose 2003-02-02
  • 打赏
  • 举报
回复
一个语言,他最吸引业余编程爱好者,因为人们“认为”它是其它语言的“祖宗”,它是万能的。这绝对是一件坏事。

“那些爱好者使用它来开发商品化软件(这往往要求多年使用同一种语言)还是用来学习”,这才是问题的重点。
w_rose 2003-02-02
  • 打赏
  • 举报
回复
让成事不足者测评,什么结果都一样——成事不足。

项目管理者是集成各种组件——只管协议哪管它是哪种语言开发的?!!!
5drush 2003-02-01
  • 打赏
  • 举报
回复
另外,你如果想看看微软的合作伙伴有多少的话,推荐你去这个地址,希望你不要头晕 :)
http://www.microsoft.com/resources/casestudies/company.asp?pageMode=4
5drush 2003-02-01
  • 打赏
  • 举报
回复
拉这么多人出来有什么用呢?又不是打架,甚至上面还有些公司根本就不是IT业的,你不是想用BOEING公司的737飞机来证明JSP比ASP.NET好吧?更何况上面有些著名的软件公司是两边都支持的,比如Borland Software Corporation (寶蘭公司),Macromedia, Inc. (不用說了吧),SAP AG (應該知道吧),还有一些业内最著名的主,比如:INTEL(.Net CLI标准的参与制定者),DELL等还没露脸,最后说句实话,开发软件的质量不是比人多人少的,我觉得上面那些公司加起来也不够微软一家厉害,看看开发工具就知道了,虽然每家公司都推出一个或几个JAVA开发工具给你进行“自由选择”,但是现在有那一个JAVA开发工具能做到Visual Studio .Net的水平?
5drush 2003-02-01
  • 打赏
  • 举报
回复
桌面还用想吗?WINDOWS是哪家公司开发的?别告诉我你是做LINUX或者是SOLARIS桌面
ilian 2003-02-01
  • 打赏
  • 举报
回复
j2ee的命运可能真的像网景的浏览器。.net和j2ee是同一类型的开发平台,C#和

java语言很相似,.net和j2ee不一定能长久共存,MS是绝对不会轻易放过

j2ee。如果现在想开发产品化的图形处理软件,.net和j2ee可能都不是最佳的选

择,它们似乎更适合做企业级的订制软件和WEB类的解决方案。图形处理用最低层

SDK来做可能更好——特别对于一个好的高品质的软件来说。windows api、linux

gtk\gdk\xlib也许更好吧。

对于一个好的产品来说不要想着一次编译,随处运行——结果往往会更糟糕。

.net不像j2ee那样强调一次编译,随处运行,这样.net 更加会强大,最大地

发挥特定OS的特定功能。

.net 所谓的托管程序将来也会大部分或完全编译成特定平台的本机码——也就

是完全脱离.NET 类库的依赖。

.net和j2ee现今来比的话,但然j2ee跨平台好,主流的OS都有相应的JDK/JRE,

而.net好像只有linux 版 mono 正在完善 。
doodoofish 2003-02-01
  • 打赏
  • 举报
回复
桌面應用有大有小﹐你所謂的桌面應用連不連數據庫? 有沒有後台伺服器? 如果都沒有當然選.NET了﹐而且勸你用C#﹐別搞什麼VB.NET。

如果有﹐那麼.NET和J2EE都是你能考慮的選擇。如果你死盯Windows﹐當然是.NET﹔如果你想垮平臺﹐也能在Linux上運行你的桌面應用﹐J2EE是唯一選擇﹔對低端用戶﹐你選擇.NET﹐因為老百姓大都只會用Windows﹔對高端用戶﹐你選J2EE﹐因為將來企業選擇Linux做服務端的將越來越多。

有些朋友說對了﹐.NET和J2EE之爭﹐其實就爭在一個"平臺"上。J2EE之所以讓微軟很不舒服﹐微軟之所以始終杯葛Java﹐不是為別的﹐就是因為J2EE開發出的東西可以完全不在Windows上跑﹐為非Windows操作系統提供了大好機會。這讓靠Windows為旗艦產品的微軟怎麼活?

所以.NET的推出有很多專家認為是微軟的商業行為﹐而從技術上講.NET比起J2EE沒有卓越的優勢﹐倒更象在revent the wheel(重新發明輪子)。但即使重新發明輪子﹐即使發明J2EE在若干年前就成功的東西﹐微軟也要干。如果在企業應用領域微軟不能針對J2EE提供另一種選擇﹐微軟的Windows操作系統將會因為越來越多的非Windows應用程序的蔓延而顯得不再重要。這對微軟是致命的﹐也因此即使投入XX億的資金﹐耗費X年﹐自己一個人單干﹐也非得和J2EE一爭高下。

可這一回合微軟面對的不是單單一個Netscape公司。Java World陣容的強大程度遠超出國內大部分人的想象(國內很多人還以為J2EE只是Sun一個公司的玩具)。我就拿下一代JSP(相當于ASP)的開發工作舉例來說: JSP是J2EE裡的一個技術﹐但就是一個技術就牽動了數家豪門的參與。看看制定和開發下一代JSP的公司的名字列表:

Abramson, Nathan
Adobe Systems Inc. (Photoshop開發商)
America Online (AOL) (美國在線)
Apache Software Foundation
Apple Computer, Inc. (蘋果公司)
Art Technology Group Inc.(ATG)
BEA Systems (Weblogic開發商)
Bayern, Shawn (貝爾)
Bergsten, Hans
Boeing (播音公司)
Borland Software Corporation (寶蘭公司)
Developmentor
EDS
Falkner, Jayson
Goodwill, James
IBM (永遠的藍色巨人)
IONA Technologies PLC
InterX PLC
Lutris Tecnologies
Macromedia, Inc. (不用說了吧)
New Atlanta Communications, LLC
Novell Networks
Oracle (太有名了)
Persistence Software Inc.
Pramati Technologies
SAP AG (應該知道吧)
SAS Institute Inc.
SeeBeyond Technology Corp.
Strachan, James
Sun Microsystems, Inc. (肯定在裡面了)
Sybase (也很熟悉吧)

這不是我吹的﹐以上資料引自相關JSP的說明書(地址http://jcp.org/en/jsr/detail?id=152)
微軟這次的敵人可不好惹。
chouchou 2003-02-01
  • 打赏
  • 举报
回复
谢谢各位的高见,分析的挺有道理。MS往往刚开始时推出的东西不怎么样,但后来越来越好。就象浏览器之争。虽然Java已经正式发布了8年了,但MS太有钱了。我喜欢Java的技术,但比较担心Sun公司的命运。当然还有IBM,还有JCP。但MS是个太恐怖的敌人。我要做的是个Local产品,可以说有些象PhotoShop。但目前可能会希望运行在MacOS X平台。最近Java的桌面性能提高的比较多。而且Java也可以调用本地代码(Java2D就内部调用了DirectX,但Sun说不太稳定。没有办法,人家的平台嘛)。嘿嘿,我已经不是大学生了,所以才有这个技术决定权。
mikespook 2003-02-01
  • 打赏
  • 举报
回复
恩,受益颇多~~~~感谢doodoofish(嘟嘟鱼)的分析。

但是我的感觉是不论是J2EE还是.NET,相互交锋也罢,相互制约也罢,最终实际上是在相互的吸收和兼容。只不过商业利益的要求,并没有明确的提出来。
对XML的支持,就是一个很好的例子~~~

举个例子,c#在unix系统下肯定拼不过java就像java在win下拼不过c#一样。除非哪天ms出个ms unix什么的~~~~

.Net调用DirectX那是肯定的,微软的一贯风格嘛~~~
doodoofish 2003-02-01
  • 打赏
  • 举报
回复
忘了告訴你﹐聽人說.NET可以調用DirectX
加载更多回复(13)

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧