为什么说Java比.net安全
2013-09-10
“因为Java跨平台性优于.Net,所以在这方面Java比.net安全。“,这句话并不准确,说到跨平台,Java是通过JVM的进行机制实现的,而.NET也有.NET Framework,且已经有4.0版本了,.NET Framework也是采用中间语言,内部支持C++.NET/C#.NET/VB.NET/J#.NET,从理论上讲只要在Linux开发出支持的.NET Framework,.NET语言也是可以实现跨平台的。。。但微软有自已的系统当然不会这么做。
很明显,Java所采用的中间字节及解释执行以及跨平台的技术比.NET成熟,但并不是因为Java的Java跨平台性。
2013-09-10
在开发周期上,肯定是.NET要优于Java,MS的工具一向就是把人培养为傻瓜的那种类型,在Visual Studio中拖拖,很快一个画面就Coding完毕了,如果习惯于这样开发模式的程序员去写J2EE的程序,就会感到极大的痛苦,在Java开发中,个人开发水平还是非常需要的(不否认,程序员中复制代码再进行修改的也不是少数)。不过,傻瓜型快速开发也不是什么坏事,可以缩短开发周期,老板会比较开心,但是对程序员自身的发展来看,是很不利的。很有可能你做了几年程序员,还处于拖放空间的那种层次。但Java的这种开发方式造成了对开发人员要求比较高,对于刚入行的开发人员来说,很容易就极大打击开发人员的自信心和积极性,带来不好的一面。
由一下几点(如有异议请提出,不足请补充):
技术成熟度,由于java是开源的,所以在他不成熟的时候会有很多很多的专家,黑客(正面的也好,反面的也罢)来找茬,这个阶段的java就是一个大漏勺,但随着漏洞一个一个被提出一个一个被修补java的完善度越来越高,现在的java的可靠性不是.NET可比的。java有漏洞自会有大神提出解决方案,比如最近的反序列,虽然官方没有更新,但民间已有解决方案。如果发生在.NET上,.net是不开源的,发现小漏洞微软会说,放一放研究下(N年后更新),大漏洞紧急补丁(也可能不补),在发现漏洞到补丁出现的缓冲期内这个漏洞一直存在,被攻击的风险相当的高。另外由于同平台还有一些王道软件(office)和相关自加软件,这些软件平台说不定会爆出一个小漏洞然后关联提权什么的,牵一发而动全身。
搭载平台。据说.net有了Mono平台可以再linux上搭建环境,很多.net工程师说终于不用面对 瘟到死 系统了。但为时已晚,而且在linux上的运行效率也不如自加平台效率来的高。就安全说事,这个算平局。
代码编写。java有很多开源框架,解决不同的问题,同样的.net也有,但.net中很大一部分是参考java源码写的,也有部分.net大神写的。这方面,由于java人数众多(国内外都算)略胜一筹。
java遇到解决不了的难题(高端的问题),可以去反编译源码查看问题所在,找到解决方案,就算自己不会可以到开源社区去找热心的大大(虽然遇到和中奖概率差不多,起码是有)。.net遇到这问题,微软爹爹求助!然后看爹理不理你。
总结上述:中低端开发,其实大家都差不多,半斤八两。可能就是系统平台java稍微好点(毕竟相信大部分.net还是在window上的)。高端的java有优势,开源可定制化是战胜.net的关键。
.net MVC和java ssh我感觉差不多。好坏仁者见仁智者见智,觉得.net MVC更方便一些,并且MVC的框架本身也开源了,也有很多不错的插件。
.net Webform就不一样了(当然现在.net中 Webform开发还是占据大多数),开发速度快,简单易学,好上手,跟开发客户端程序似的,中小型项目中用的挺多。
不过不建议使用.net Webform再开发了,拖控件之类的开发模式对web发展,还是自身发展有害无益。MVC用熟了也不慢(当然上手比较难),实在追求开发速度用ROR更快。
从语言上说,C#和java感觉也没什么区别。C#新版本有很多lambda,动态类型之类的新语言特性,还有大量的语法糖。
不过java可以跨平台,这点C#无能为力。
从社区上说,java毕竟一直开源,社区感觉还是要比.net更好一些。(ps:不要忽略社区的力量,不过Java自从被Oracle收购后。)
从就业上说,也差不多,分地区。Java貌似略好。
从面子上说,貌似java开发人员更有优越感,国内有看不起.net的现象。
以前有种说法,Java适合开发大项目,.net适合中小型项目。
最终观点,无论是语言还是框架只是一种工具,能完成项目的前提下,哪个成本最低用哪个。程序的设计思想都是一样的。
如果热爱技术的话,Web开发中ror(国外都快没落了,中国都还没火起来)、node.js(这个我感觉比较有前途)等新兴技术最好也能了解了解,虽然就业上可能费劲一些,多数都是外企要这类人才。不过这也是web技术发展的趋势。
2013-09-10