如鹏网 大学生计算机学习社区

CowNew开源团队

http://www.cownew.com 邮件请联系 about521 at 163.com

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  363 随笔 :: 2 文章 :: 808 评论 :: 0 Trackbacks

         最近公司要开发Windows平台上的产品(由于涉及到商业机密,所以目前无法对这个产品做详细介绍),采用.Net技术进行开发,我负责的是基于Visual Studio插件机制的行业开发工具的开发。从开始接触.Net到现在已经有近三个月了,而且也开发出了第一个版本,对.Net已经有了一些认识,由于以前主要用Java、Python等语言进行开发,因此有意无意的就对这些语言进行了比较。和Java比起来,.Net的优势还是很多的,比如快速开发能力、基于Windows特性进行开发的能力、内置的丰富类库、一些高级语法、组件的多版本管理等。优点是不用过多夸耀的,缺点我则要好好的“批评”一番的,因为“谦虚使人进步,骄傲使人落后”嘛,呵呵。开发场景为:使用Visual Studio2005进行C#的开发、使用Eclipse进行Java开发。 
 
1、HotSwap:在Java中HotSwap技术给程序的调试带来非常大的方便,比如可以让程序一边调试一边修改代码,代码修改以后在程序中立即就可以看到修改后的效果,不用每次修改以后都要重新启动程序;在.Net中几乎不允许这样做,只有在非常苛刻的几个情况下才可以实现在调试状态下修改代码,而且一旦代码段被执行过了就肯定不允许再修改了,这就导致每次修改代码都要频繁启动程序,非常繁琐。
 2、基于.Net的东西和Windows结合过于紧密,而且和Windows平台下一些旧有技术有太多千丝万缕的联系,导致用起来非常麻烦。比如每个对外部系统暴露的接口传来传去最后看到的类型是_ComObject,要想得知其真正的接口类型就必须通过COM技术来取得,非常麻烦;开发的很多组件都需要到注册表中注册,增加了部署的难度。

3、Visual Studio中代码的即时查错能力非常弱,很多的要到编译时才能知道代码是否有错;而在Eclipse中在编写代码的时候对于有错误的代码和有警告的代码(比如一些Private成员没有被引用)可以立即清晰的提示出来,开发人员可以立即修改有错误的代码。

4、Java中默认的方法都是可以override的除非标注为final,而在C#中必须是明确声明virtual的才可以override。在Delphi中也是类似的问题,这应该是Delphi和C#共同的老爹Anders Hejlsberg对于OO的一种理念吧,也许人家大师的想法是正确的:一个方法是否是虚方法必须要明确指定。不过对于习惯了Java中这种实现方式的人来说,C#的这种实现方式还是让人感觉一时难以适应的。

5、Visual Studio的编译速度太慢,点击【调试】/【运行】按钮以后要编译好长一段时间才能启动(不过和Visual Studio6比起来现在的Visual Studio编译速度已经快多了了,已经接近于Delphi的编译速度了);由于Eclipse使用的自己的高性能编译器Eclipse Compiler,而且代码的编译是在编写代码的时候即时进行的,所以在Eclipse中根本感觉不到编译的时间,点击【调试】/【运行】按钮以后程序就运行起来的。

6、.Net类库中一些类设计的不灵活,比如TreeView的节点的显示的值是通过Text属性赋值上去的;而在Java中的Swing、SWT等图形库中,可以在一个树节点中挂任何类型的值,然后通过为这个节点定义个性化的Render(渲染器)来决定这些树节点显示什么。

7、Visual Studio的插件体系过于死板,开发起来不像开发Eclipse插件那样灵活简便,这可能和Visual Studio插件体系的历史渊源有关系。举例如下:
(1)比如要在代码编辑器上增加新特性,在Eclipse中可以通过代码编辑器中提供的大量扩展点来实现,而在Visual Studio中的代码编辑器中则只提供了很可怜的几个可扩展性。这一点是Visual Studio插件体系最大的硬伤,大大限制了基于Visual Stuio的插件的功能,相信随着MS对Visual Studio插件体系的逐渐重视,这一点会慢慢跟上来的。
(2)Visual Studio的插件体系和.Net结合过于紧密,在Eclipse中可以为Python、Ruby、C#、C、ASM等很多语言开发IDE(提供代码编辑、代码辅助、调试、编译等功能),这些语言不必与Java有任何关系,而在Visual Studio中虽然也可以为一种语言编写IDE,比如IronPython、J#,但是这些语言是和.Net集合紧密的,比如要为这种语言提供调试功能,则必须将代码编译成MSIL代码,这对于很多语言来讲是不可能的;
(3)Eclipse中的插件只要在自己的plugin.xml文件中配置好就可以了,把那个插件的jar包放到Eclipse中就可以运行,而Visual Studio中的插件则必须首先注册到注册表,调试和部署起来非常麻烦;
(4)Eclipse运行时的配置是保存在Workspace中的.metedata目录下的,因此在开发插件的时候会把插件的配置信息自动写到Host起来的那个Eclipse的Workspace中,被调试模式启动的Eclipse所做的一些修改不会影响主Eclipse,而在Visual Studio中虽然可以使用Experimental Hive方式进行插件开发,但是由于这些配置是保存在注册表中的,所以被Host启动的Visual Studio实例会污染到主Visual Studio,每次重启IDE都需要运行“Reset the Microsoft Visual Studio 2008 Experimental hive”来进行环境的重置,且重置耗时非常长,浪费了大量时间;
(5)VS2008中,如果插件中抛出异常,而又没有捕获的话,轻则VS2008会显示一个错误消息框,重则VS2008会宕掉;而在Eclipse中会将插件中未捕获异常显示出来并且输出到日志文件中,方便插件开发者排查插件的Bug。
(6)Eclipse中工程相关的特性是以Nature的方式提供的,一个Nature通常可以挂接到几乎所有的工程类型中去,包括用户自定义类型;而在Visual Studio中工程相关的特性则是以SubProject的形式提供的,往往只能挂到Visual Studio内置的少数几个工程类型中去(比如CSharpProject、VBProject),这样可扩展性大大降低了。
(7)Eclipse中可以使用JET来开发非常复杂的代码生成器,而Visual Studio中的代码生成则只能用非常简单的代码模板机制,复杂的逻辑就必须通过字符串拼接来完成;

        毕竟接触.Net时间还是非常短,所以有的地方说的可能有错误,还请园子里的兄弟多指教。最后祝.Net和Java能在相互竞争中快速成长,从而让我们开发人员能够轻松、快乐、快速的开发出产品来,:)

posted on 2008-02-19 11:29 CowNew开源团队 阅读(18802) 评论(72)  编辑  收藏 所属分类: 技术类

评论

# re: 我眼中的.net的缺点(和Java比较) 2008-02-19 12:10 doyle
看完后...发现是在比较两款IDE...虽然我基本赞成这篇文章  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-02-19 12:41 罗明
IDE的特性也能反映语言的特性吧,毕竟这两个都是各自领域里的顶级IDE  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-02-19 13:06 dennis
关于第4点,java默认所有方法都是“晚”绑定,而c#延续了cpp  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较)[未登录] 2008-02-19 13:42 gfh21cn
这两个IDE其实反映了各自的系统背景,有点WINDOWS和Linux相比较的味道,呵呵,不全是了

赞成LZ的观点,VS有很多地方没有ECLIPSE来的方便。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-02-19 14:07 GaoYP
可能开发插件是如此。楼主的观点只是从JAVA转向C#的程序员的观点。
我从C#转向JAVA的感受完全不是这样。VS是装上就能用。Eclipse折腾了我好几天,很久才适应。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-02-19 14:10 CowNew开源团队
不过Eclipse还是比VS强大很多的,毕竟开发人员用一个IDE是希望它强大,是否容易上手是次要问题,:)。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-02-19 14:13 guoyong.che@gmail.com
据说java中的许多思想更成熟,更先进,这些方面能做做比较吗  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-02-19 14:19 CowNew开源团队
@guoyong.che@gmail.com
从语法本来来讲,Java和C#比起来没有本质区别。不过从我接触过的产品来讲,很多基于.Net的开发东西更侧重于工业化的实际应用,所以很多地方都是“能用就行,不考虑太复杂的东西”,而基于Java的东西则是求精美、求最佳化。不同的风格吧。比如看看Visual Studio SDK的代码,发现很多类设计的很土,违背很多设计原则,只是“为了使用而设计”,并没有经过好的设计,而Eclipse的代码则非常精美。
还是那句话,能不能写出精美的程序在于人,而不在于工具,很多基于.Net的东西也有写的很精美的,基于Java做的东西也有很多非常垃圾。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-02-19 14:35 传世私服
也不能说那就是缺点吧```都有好处,看习惯`  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-02-20 09:41 bangbang
博主所说的ide的扩展性,在vs2008里应该有显著的增强。还有我最难忍受eclipse的地方就是,明明有些功能,只要再稍微多花一点点的功夫就是实现得非常好的一些功能,偏偏要留一些遗憾在那边,看起来很别扭。比如代码自动完成时,对构造函数支持不好。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-02-20 20:44 香草的天空
eclipse的体系设计很好,而vs2008几乎不可能转型成为eclipse那样完全基于OSGi的设计。
因为M$投入的人年太多了,很难想象推倒重来而且还要经受住工业化的测试。

而eclipse因为它免费,另一个是因为它在java ide里几乎没有遇到竞争对手,所以它可以从容的大修大改。
eclipse2.0的版本是不支持increment compile的,要编译就全体编译,-_-!
eclipse2.1后面的版本,几乎每个版本都有API改动。而且更新非常快,快到Milestone版本里API都不一样。这时候为eclipse写插件几乎没法维护,且不说换个版本就编译不过,而且某些个必须功能只存在于M版本里,而这些M版本几乎都有这样那样的bug。
3.0后eclipse又遵循OSGi重写底层代码,不过API稳定很多。当然3.0到3.3改动还是很大,不过大方向已经稳定了。

不过根据我对JDT的认识并不存在Eclipse Compiler,而是基于AST的词法分析。你能即时启动主要是因为你Ctrl-S的时候class已经编译好了,后面只是javaw的问题了。
而.net每次当你修改后代码启动的时候都重编译一次工程,所以-_-!!  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-02-20 20:51 香草的天空
M$在技术上已经落后于Java了。现在的C#语言也好VS也好处于一个追赶期。
从深层次上是两者观念的差异,eclipse是希望程序员自己动手,自己来完善,它只提供一个平台。而MS是希望程序员一点击就可以运行,超级上手快。
单纯从技术上来说,MS应该选择放弃兼容一些过时技术但是它那样做的话就会失去市场  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-02-21 11:59 dennis
c#3.0在语法上比java更加激进,引入了更多函数式语言的特性,java比c#3.0落后多了,哪怕java7出来。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-03-19 17:44 ZelluX
怎么是比较两个ide的。。vs2008很好用啊。。Java没闭包用起来就是不爽,代码废话多。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-03-20 17:02 Javalet
用了用NetBeans,觉得还不错,就是插件上比不上Eclipse  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-04-03 09:06 cell
也许在.net1.1甚至2.0的时候可以说java领先,但是他等更新速度太慢,如今的.net3.0/3.5已经超过java。我还是觉得vs2008好用,最起码只能提示比eclipse舒服多了。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-06-01 09:40 anony
显然java不行了  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-09-27 09:39 完美差一点
两者都各有各的优势,也各有各的缺点,本来一个新新事物的产生就不可能是完美的.两者都在进步,也都在追赶.目的只有一个,能为开发人员带来更大的发展空间.  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-12-30 09:20 了解后再说不迟
毕竟接触.Net时间还是非常短,所以有的地方说的可能有错误,还请园子里的兄弟多指教。
-----------------------------------------------------------------
这句话说得不错。
当充分熟悉.net后,希望楼主能修改此文章。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2008-12-30 12:59 43242342
骗人的标题。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-01-08 00:54 12121212
首先一点,JAVA的运行效率没有.NET高,不是没有高,是远远不够,JAVA那个程序运行的效率啊,您难道没有砸机器的想法?就说JAVA那两个IDE的启动时间,等了半天,哦,才开始读进度条。。还有我同学以前用myeclipse写ajax程序,代码一版一版的,用.NET,两个控件一拖,搞定,JAVA WEB现在的构架,JSF,EJB,HIBXXX,SPRING,STRUTS,您不头晕?结果一起上还不如人家ASP.NET,桌面程序上,那就免了吧,如果SWING不是偷了操作系统的外观,那个外观简直不是人看的,总体来说JAVA没有.NET人性化,而且现在很明显.NET的增速超过JAVA,今年毕业的大学生都发现,.NET程序员更抢手了。
当年XBOX刚出炉败给PS2,现在XBOX360逼到SONY赔本卖PS3还打了平手,这就是微软的实力  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-03-04 16:04 hpking
只是IDE上比较,就说eclipse或者netbean,用用就上火,什么垃圾玩意.不管理念多先进,开发起来费时费事就一票否决掉了.  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-03-04 16:16 CowNew开源团队
@hpking
低档次开发人员,代码工人层次的。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-11 16:00 Kira Qian
Java的垃圾回收机制简直就是垃圾,于是将自己回收了,等于没有回收机制了。

楼主如果将.net中弱项和java里所谓的强项比当然是java好,但我想问一句用java程序的用户哪个不抱怨内存的?

如果比界面,java可以钻地洞了,无论.net的Winform还是最新的WPF,都远胜java,我以前用过swing,想吐。

further more,java有官方技术咨询吗?.net有,你可以免费获得技术支持。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较)[未登录] 2009-04-11 16:48 aaaa
I fuck 这篇文章。 观点太片面。 妈的,我就觉得 eclipse 很狗屎 。用起来超不爽。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-11 20:01 CowNew开源团队
@Kira Qian
我只问你一句话,哪些核心系统是用.net写的?别跟我说**银行、证券交易所的网站、OA,我说的是核心系统,你懂什么叫核心系统吗?  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-14 13:36 kiraqian
@CowNew开源团队
如果我回答你我几乎不服务中国的客户,因为中国用.net的人少,国外那些用.net的客户他们都是用来开发高级应用的你相信吗?我也问你什么是核心系统?java出来早,.net近几年才成熟的,中国人又是喜欢淘汰技术的民族有什么好说的。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-14 13:42 Luo Ming
.net只能运行在windows系统,当然不能开发核心系统了。 那些大企业核心服务器用的windows啊?很少吧  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-14 13:45 CowNew开源团队
电信、银行等核心系统都是小型机,跑的都是HPUX、AIX、Solaris等操作系统,有.net的份儿吗?  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-15 13:18 kiraqian
如果按照这个逻辑分析,世界上最成功的操作系统是Linux, Unix而不是Windows,Windows XP算什么垃圾系统啊,核心的东西没一个跑在它上面的,叫EA,暴雪全部去开发for linux的游戏吧,反正核心的东西在linux上。

BTW,为什么银行电信选择linux和其他系统而不是Windows?
答案是Linux安全。

请问为什么Linux安全?
答案是黑客一般不去攻击Linux。

请问为什么黑客不去攻击Linux?  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-15 21:12 CowNew开源团队
@kiraqian
对你这种只用过PC&PCServer的人来说,我说很多话你根本听不懂  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-16 11:19 kiraqian
@CowNew开源团队
不好意思哦,我一开始是学java的,进了公司才转.net的  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较)[未登录] 2009-04-16 20:46 喜欢蓝色
@kiraqian @CowNew开源团队
说到底都是一个字“钱”,Windows Server的确很好,但是要钱,而且很贵。如果我开发网站绝对不会用Windows服务器,因为付不起钱。Windows服务器,sql server .net都要钱所以没人用。Java不差,.net也非常有潜力,本文作者的观点偏向了java势必引来微软fans的不满,可以理解。本人觉得微软的产品非常优秀,但买不起只能投身于自由软件。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-17 09:31 CowNew开源团队
请问一下ms的fans们一个问题:CPU占用率、内存占用率100%是好事吗?  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-17 09:56 CowNew开源团队
@喜欢蓝色
看来确实你只用过PCServer,AIX、AS400、9000的操作系统都是用的私有Unix操作系统。好像在你们眼中除了Windows就是Linux,你们根本不知道有Unix的存在。而且银行的核心系统使用大型机,其他外围核心服务器采用小型机配私有操作系统,外围服务器配Linux等操作系统,你认为银行会因为“钱”的原因而选择非Windows操作系统吗?哈哈,可发一笑。你们家SQLserver支持真正的集群吗?支持银行那种高性能要求的应用吗?Windows能发挥硬件的最大效能吗?   回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-17 09:57 CowNew开源团队
@喜欢蓝色
是不是很多人都是做网站开发的?我对做网站的不了解。我是做银行应用的,不做网站。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-17 12:13 kiraqian
@CowNew开源团队
我不同意只是为了“钱”的观点,说到服务器性能,朋友,全球的msn,live服务你以为是非windows非sql server服务器?

话题扯远了吧,有人居然说起钱了。至于某人说用不起windows是可以理解的。但这个和.net与java的比较没有关系,.net只支持windows是微软搞的策略,这阻碍了.net的发展,我只是说.net相比较java性能上有很大提升,功能上也丰富了许多,也许我做java时间不多并且已经转向.net多年,对java最近技术了解不够了。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-17 12:18 kiraqian
@CowNew开源团队
你作为一个长期使用java而刚刚接触.net的人在此发表观点,我作为一个曾经用java而后长期使用.net的人在此发表观点。从所有人的评论来看都是用什么久的说什么好,这个想法很正常。如果我也是用java时间长今天也许是站在楼主的立场在和ms fans大军做口舌之争。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-17 12:56 CowNew开源团队
只问MS的Fans一句话:AS400、AIX、HPUX上能跑.net吗?  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-17 12:58 kiraqian
显然不能  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-04-17 13:11 kiraqian
对于.net最大的跨平台缺点楼主为什么不批评一下,这是所有ms fans都无法反驳的。而楼主列出的这些.net缺点其实是由于你接触少造成的,并非真正缺点。

对于我长期使用.net的人来说.net不能随意更改源代码,很多控件属性不让重写是很讨厌的。.net的发展完全依赖ms也是使它发展缓慢的真正缺点。

优点:“.Net的优势还是很多的,比如快速开发能力、基于Windows特性进行开发的能力、内置的丰富类库、一些高级语法、组件的多版本管理等。”楼主已经概括了并且是正确的。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-05-25 07:42 wangyongchun
从C到C++再到C#,可以发现微软的C系列编程语言正在逐渐与Java走向一致.

我觉得这是大势所趋.大家有没有想过,也许在未来不久用户眼中将不再有C#和Java的区别,无论是使用C#还是Java或是另一种新的语言,用户需要的仅仅是一种面向对象编程的思想,而无论是用什么开发语言,都可以实现源代码兼容(或许兼容这个概念都会不存在).

相比过去,现在软件的可移植性已经增强许多了.

用户的期待是C&J而不是C|J.  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-05-28 21:40 paopao
两位高手辩论的不错 学习了 本人是搞JavaEE开发的 虽然几乎不了解.net 但觉得kiraqian说的也在理 纯学习了 顺便路过...  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-08-03 18:09 vsc
我觉得软件只是工具,真正决定使用那种工具是由成本决定的  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-08-16 09:04 Down_light_Spotlight
我还是比较喜欢java多一点  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-08-20 17:51 归开
他妈的,你们辩论来辩论去,我现在都不知道学什么好了,我会了java,做了很多私活,但我不是计算机专业毕业的,所以找java的工作特麻烦,现在正在学.net,你们这么一说,我什么都不明白了  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-08-20 17:54 归开
我都教会我老婆学上java了,她都找到工作了,我这个人性格比较大男子,我找的工作不比我老婆好我是不准备干的,正准备学.net转运,你们这么一说,我觉得.net是不是真的做不了大项目啊  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-09-11 17:20 怪蜀黍
java能跨平台是因为它有各种os下的jvm;.net 跨不了平台是因为它的framework不支持其他os。所以说跨平台特性没什么好吹嘘的。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较)[未登录] 2009-10-01 14:01 DEVER
真是片面!说实话,你用了vs2008你真的看都不想看JAVA下的东西!WEB开发和桌面开发都是如此。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-10-01 14:14 CowNew开源团队
@DEVER
.net/VS是傻瓜相机,用起来简单;Java/eclipse是专业相机,上手麻烦,但是更强大  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-10-08 00:40 小小的我
关才跨平台方面JAVA相对于.NET确实没脸了吹嘘的。
首先SUN没有微软那么强大的WINDOWS操作系统,跨平台也是无奈之举。如果,SUN的Solaris能像WINDOWS那么普及,我估计JAVA也只能跑Solaris了。所以这只是商家的商业战略问题。
其次,.NET在设计上是能跨平台的。不管是什么操作系统什么设备只要装了.net framework(有点JAVA中JVM的意思)就能跑.net程序。从理论上和技术上.net完全可以实现跨平台。比较有名的开源项目MONO已经在某些版本的LINUX(Ubuntu)实现了运行.net程序。
当然不可否认的是现在来说。NET的跨平台确实没有真正实现,这也可以说是。NET相对于JAVA的一个很大缺点。但从另一方面想想,这又何尝不是.net一个优点了,有MS那么强大的后盾做支持,我相信.net能走得更远发展的更好。
所以,大家以后还不要拿JAVA的跨平台和。NET的不能跨平台作为优劣的对比,因为这个东西是不能比的。
  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-10-15 15:37 甘草
吵架真没劲,
我从来不觉得能摸到那些大型机,而感到神圣。
------------------------------------------------------
我今天随便搜到这个帖子,我觉得博主很多地方讲的还是很正确的。

不同意博主的地方是第四点。见过Scala的语法吗? override是值得肯定的。

第7点是比IDE的,我是一个从VC搞过来的人,也开发过Eclipse的插件,当我了解过OSGi后,我发现光凭此点,java就提高了很多身价。尽管Java的语法确实老土了。

  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2009-11-06 00:06 rockjie
关键不是java好还是.net的坏,而是某些人程序写得好坏的问题。大型机的应用有些都是java的,底层的则是C的,应用和底层的概念就不要在这里说了,相信oracle可以用java来做,而微软的全球数据中心肯定也不是用PC(人家不是也处理了全球的N多数据了么,他就跑的是Unix上的Java?!)。
更可笑的是楼上的某位说:“从C到C++再到C#,可以发现微软的C系列编程语言正在逐渐与Java走向一致.”,呵呵儿子不认识老子了。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较)[未登录] 2009-12-30 17:09 Dream
这叫啥??
简直是 睁眼说瞎话.....

.Net调用COM是麻烦, 与JAVA做个简单的窗口相比较当然麻烦.. 因为你比的东西就不一样..

你怎么比较 .NET 和JAVA哪个做窗口程序简单.
你怎么不比较.NET 和 java哪个做COM调用简单.

你的Visual Studio 和 Eclipse比较? 全部是自己的结论. 别提VS2005和VS2005了. Eclipse只能和VS2003比比...

给你一个光板的Eclipse能用不?? 想开发MVC的JSP, 先装一堆插件再说...

给你一个光板的VS呢? 没有任何插件, 照样写代码.

JAVA和.NET各有优势, 但没见你这么乱比较的...  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2010-01-19 10:22 HelloFuckingWorld
@CowNew开源团队
Mono嘛!!
Mono= .NET Frameowrk 2.0 for Non-Windows OS  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2010-01-19 10:24 HelloFuckingWorld
@归开
您去招商银行看看. 您不会说网页那个后缀名"ASPX"是Structs仿的吧?  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2010-03-08 12:44 sx
不好意思,工行ATM就用的是windows  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2010-03-08 22:02 中台、后台
@sx
前端当然用windows,银行的中台、后台都是非微软体系的。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2010-04-14 20:31 FXN
楼主才熟悉了几天的.net,没必要发这么长的的文,连你自己都没底气。

虚方法显著标记是值得提倡的,Java中这个才是弱点,不论是从设计的角度来说,还是实际的运行性能,都没必要默认虚方法,一不小心子类容易覆盖父类方法,而虚方法更是运行时绑定入口,性能是没办法和编译时就确定好的普通方法比的。

.net中有非常好的CodeDOM生成代码,还有更加强大快速的Emit,动态生成程序集都没问题。很多微软自己的工具都是使用的这个(包括编译器),你不会认为这些实现不了复杂的代码吧?至于TreeView,还是老掉牙的WinForm里面那个?那个也是可以绑定任何对象的,Tag属性......

还有,楼主谈的C#的特性也太少了吧?运行时泛型都没有,Attribute也没有,这可是.net里面非常优雅强大的声明式编程代表,至于Linq,Lambda表达式那些足以让C#3.0唾弃2.0的语法,更是一个都没有  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2010-04-14 20:36 FXN
另外,我觉得楼主没必要扯什么“核心”系统,很多地方都是因为不信任Windows,要用Unix才靠的Java。可以说是一种偏见。很多人也说了,微软自己的网站、数据中心,可不是跑的Unix吧,Windows和.net真不能胜任大项目?

微软要是转变策略让.net支持Unix,我还真不信Java能支持几天,就现在这样,C在没有增加的情况下,Java自己就让出了排名第一的宝座。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2010-04-27 11:22 EVIL
其实我看了第一点就没兴趣了,接着就看评论.楼主觉得调试麻烦,用用即时窗口吧.可以解决你的困扰  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2010-04-27 11:23 EVIL
还有你JAVA牛,你直接跟JAVA高人坐而论道,相信你们会相谈甚欢;最瞧不起NET半瓶水,就瞎批评的。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2010-04-27 11:31 CowNew开源团队
@EVIL
你根本不理解什么叫HotSwap  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较)[未登录] 2010-09-27 14:46 java.net
有什么好比的。
java怎么样,.net又怎么样。
无论是java还是.net 关键在于自己的技术
java和.NET是你们开发的还是怎么样。有什么资格七嘴八舌?  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2010-09-27 14:48 终点
@java.net
O(∩_∩)O哈哈~  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2010-09-27 14:49 终点
@sx
好像邮政也是windows,上次去取钱的时候,自动取款机出现故障.....  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2010-09-28 15:47 fuck
做网站的都是些烂货  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2011-04-11 14:35 你扯蛋吧
@fuck
你说做网站的都是烂货?可能接触的东西比较低级吧,我感觉做网站是很好的,只是由于现在做一个普通网站太简单,所以做网站的收入不高,而且国内做网站的都是从需求到测试10个人就能包办的小作坊,所以做出来的网站质量不高吧。。。  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2011-09-09 15:57 轩辕悠悠
@Luo Ming
嚓嚓,需要哥在linux下跑一套c#.net给你看看?mono听过吗?  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2011-10-07 22:33 GYQ NJ
总的来话,JAVA在世界如此流行,有一个重要的原因:

免费、免费,还是免费!

另说一下:最流行的,未必是最好的!还是合适才好!  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2013-03-18 14:49 LEXBYP
在中国,java与.NET都要会, 尤其是最初.NET出身要转向管理层的程序员。
.NET为商业模式, 而java是学术型,听朋友说过一句话,java工作3年的程序员写的框架,刚毕业的毕业生就写出来了。 .NET入门容易,但深入与java相比难,不开源惹的..
纠结到底学java / .NET做BS的同学们,还是不要纠结这个问题了, 有这时间多好javascript/jQuery/sql 这是基础关键.这两个写出来了,还有多么难的程序会写不出来?  回复  更多评论
  

# re: 我眼中的.net的缺点(和Java比较) 2013-06-06 14:06 LiEdrick
乔布斯都鄙视windows系统,说他是世上最粑粑的系统,你们还要说什么?难道我们不去信乔布斯,还去信中国的小编程员(甚至只会拖控件),真是可笑.  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问