.net和java的区别及各自在实际应用中的优缺点..

希望有经验的前辈给我一些建议、帮助,谢谢~
2024-12-29 12:14:32
推荐回答(5个)
回答1:

Java社区的同志们应该会有不少人对我比较熟悉,我自己也是Java社区的架构与模式版版主,在工作了一段时间,对Java有了比较深入的运用后说说自己的感觉。 我自己的职业也许要给一些人骂,我坦诚说我是做对日外包的,做这个工作不是说我对日本有多么的好感,只不过现在工作难找,而且我们也属于出口日本,也不是从日本进口,所以心里觉得也不算过分。我们公司有两个外包部门,我所在的部门主要做得是J2EE架构的B/S或者B2C开发,另外一个外包部门做.NET的比较多。 在技术上,我的感觉是两者互有千秋,.NET在Anders的带领下发展很快,我也是Anders的一个粉丝,成为他那样的高手是我梦寐以求的愿望(我也知道是不可能的)。但Java领域中牛人也是倍出。现在在Java和.NET最大的区别也许就是一个可以跨各种操作系统平台,一个只能在各种MS的平台上互相移植。微软肯定有能力跨各种操作平台,只不过是为了他的WINDOWS着想,所以不愿意也不敢跨这些平台就是了,他可不希望自己把Linux给带来一片繁荣。Java的运行速度上面,可以说在Windows平台的桌面软件上速度无法和.NET比,在JDK1.4中的SWING的速度我是领教够了,SWT稍微好一点,不过跟用MS的C#作出来的C/S软件的客户端比,还是差了不少,这点我们要实事求是。不过只要脱离了客户端,在做Web Service上,Java的优异性能表现就比较明显了,ASP.NET我没有用过不清楚,不过我觉得应该也很好。 在开发周期上,肯定是.NET要优于Java,MS的工具一向就是把人培养为傻瓜的那种类型,在Visual Studio中拖拖,很快一个画面就Coding完毕了,如果习惯于这样开发模式的程序员去写J2EE的程序,就会感到极大的痛苦,在Java开发中,个人开发水平还是非常需要的(不否认,程序员中复制代码再进行修改的也不是少数)。不过,傻瓜型快速开发也不是什么坏事,可以缩短开发周期,老板会比较开心,但是对程序员自身的发展来看,是很不利的。很有可能你做了几年程序员,还处于拖放空间的那种层次。但Java的这种开发方式造成了对开发人员要求比较高,对于刚入行的开发人员来说,很容易就极大打击开发人员的自信心和积极性,带来不好的一面。 下面说到大家最关心的就业和工资问题。在中国,目前来说就业似乎还是Java形式稍好一些,毕竟已经占据了大量的市场,很难撼动其已有的地位。.NET也处于上升趋势,可能还是因为Java对开发人员的要求比较高,所以广大公司总是苦于不能找到自己需要数量以及开发能力的开发人员,所以Java的招聘总是很红火。.NET由于开发简单,这个也带来了双刃剑,一方面大家可以迅速上手,这是好事,另一方面,由于对工具产生了极强的依赖性,导致自身提高缓慢,大家都是那个水平,反正老板看业务也能做起来,就不会那么积极得去市场招人了,反正很快就能把一个人培养为熟练工,这个是带来的坏处。在工资薪水方面,中国目前Java和.NET还是做外包的比较多,无论是国内的外包还是海外的外包,目前有80%左右的分量都是涉及这两项技术的。但区别还是有的,Java的外包主要是运行在Linux/UNIX/Solaris上或者暂时不确定在什么平台运行,先开发了再说,而.NET上的外包肯定是在Windows上运行的。而一般银行,电信,邮政,大型企业ERP系统一般都在Linux/UNIX/Solaris服务器上跑,这个是不可否认的事实,所以Java的外包主要是这些类型的东西,小弟外包项目做了4个,两个银行系统,一个电信系统,一个超大型ERP系统。而.NET一般是中小企业MIS,中小ERP,一般的Web Site之类的系统开发。一般情况下银行,电信,邮政,大型企业ERP系统总的投入成本都是很高的,那些企业既然投了那么多的成本,最在乎的是你项目质量的好坏,而成本的具体成本数额,只要不是很离谱,他们还都是比较大方的,这也直接影响到了程序员,因为项目的报酬比较高,自然程序员的薪水也比较高一点,做J2EE外包一年以上程序员的薪水普遍在4K到6K左右,至少我们公司是这样,而我们公司在做J2EE外包里面薪水也是普通水平,那些经验丰富的Java开发人员,一个月拿到1W以上每个公司也是肯定有的。而中小企业MIS,中小ERP,一般的Web Site之类的系统则对开发成本非常关注,也相对比较抠门一点,所以自然轮到程序员头上薪水也偏低,具体多少大家自己心里也有数。就拿我们公司的两个外包部门来说吧。同样的工作年龄,我们做J2EE外包的普遍工资要超过非J2EE外包的1000块以上,

回答2:

.net 最大的有点是开发速度,集成环境比较好,很多东西都有控件支持,不用写很多代码,最大的缺点就是只能在windows下开发运行,因为是微软出的,还有,用.net开发项目要交给微软一部分版权费用。

java 最大的优势就是跨平台。因为java的运行是给予jvm的。java开发的项目也不需要交版权费,不过这个对单纯程序员来说不是问题。

回答3:

.net开发速度快,主要应用在windows系统上面,学起来也较容易
java主要优势在于跨平台,很多东西是开源的,也意味着很多东西是免费的。

回答4:

java的安全性要高一些,一般做管理系统的多一些。
.net的开发效率高些。一般做网站性质的多一些。

回答5:

.net主要应用在微软操作系统上,优点开发速度快。
java,主要优点跨平台,可运行多种操作系统(windows系统或unix系统),代码开源。