.net和java两个方向不知选哪个?两者的就业情况怎么样? 返回

精华
1 2903

Java VS .NET


.net是开源了,但还在起步,java可以做安卓开发,

选择又多了一点,毕竟winphone手机市场份额太少。

Net的产品上手都比较容易,深入比较难的。要懂得很多运行的原理,java是走开源路,缺少很多帮助工具,学起来不容易。


1416305732_F484ysDQ.jpg


因为出现的比java晚,所以.net在一些设计上比java出色,语法比较优雅(相比之下java的语法糖好丑),而且强大的visual studio完爆所有java IDE。编程本来就是用计算机的语言来描述自己的想法,用最接近你思想的语言(C#),最完美的笔和纸张(visual studio),自然能更高效地表达你的想法。两则的主要差异源于商业竞争上,一个封闭、一个开源;造就了两个世界,体制内和体制外,体制内在一定条件下过得很滋润,容易忽视自身成长,时间久了思维就比较僵化;体制外什么都得自己来,各种工具、框架百家齐放,还不一定好用,自己捣鼓、学习,经历万千之后练得一身本领。

20151208090852845933.JPG


资深程序员的解答:

作为一个5年多的.NET码工,外加一年差几天的Java码工,至少就个人的感觉而言,和楼上诸位说的差不多:入门有差别,但是真正把.NET/Java做为工具之后,其实差不多。要说更重要的,其实是写代码的人。

小弟我大学毕业的时候为了毕业设计开始接触的.NET。诚如微软一贯的傻瓜化,当年安装.NET的IDE一路NEXT下来,也没出什么差错;而Java这个环境变量的配置就难道了不少第一次接触Java的人——当然其实真正弄明白配置的原理之后也就没那么抽象了。编写Hello World的时候,.NET只要选择“新建-控制台程序",然后一个Console.WriteLine(),最后轻敲F5就搞定了;而Java的Hello World当时要人肉Javac+Java(万幸现在可以用Eclipse+Ant),还得面临各种环境变量设置导致的问题,确实让小弟头疼了一阵子。更别提Windows7之后自带的iis可以直接在本地发布程序,而Java还得配置Tomcat之类的发布服务器这种麻烦事儿了。简单总结下,.NET对新手非常友好,这也却是符合微软一贯的简单快捷风格,很容易就能看到结果,拖拖拽拽就能画出WEB页面,所以对于纯粹的新手而言确实要友好不少。

但是问题在于,真正作为”新手“的阶段能有多长呢?Java的配置再繁琐,啃上一个星期绝大多数同学也就摸到门道了。之后才是评估这两种语言,及语言所依附的框架的真正内容所在。小弟06年初刚刚接触.NET的时候,微软提供了一些演示项目,比如PetShop,其核心其实是在演示.NET同样可以和Java一样胜任多层的复杂程序的开发,而且一直发展到现在,几乎是Java及其开源阵营中比较优秀的项目或者概念微软都会复制一份儿增加到.NET框架之中。所以作为开发来讲,这两种语言,或者说JDK和.NET FrameWork之间没有太多的不同,常用的API双方都提供了,关键在于作为开发者的我们怎么去运用。

目前制约.NET发展的一个问题小弟认为是在于.NET整个产品线高昂的授权微软,从Windows服务器,到.NET开发环境,再到SQL SERVER的授权,如果再购买Exchange Server或者Team Foundiational Server这种产品的话,开销是巨大的。所以目前就小弟所接触到得范围来看,.NET更多是软件公司在使用,产出的项目部署于公司或者企事业单位的内部网络,因此可以使用D版规避授权费用,这可能也是中国特色的一个体现。而Java本身免费,同样可以部署在免费的Linux平台上,因此互联网企业,特别是硬件规模比较庞大的企业,选择Java的会更多一些。但是从整体的学习成本看来,.NET和Java也许在刚刚接触的时候有些许差异,但是没有太本质上的区别。

作为一个程序员而言,最重要的不是使用什么工具去开发,而是使用工具开发出来的程序能解决什么问题,能满足什么样的人什么样的需求。小弟认为这才是最终决定使用什么语言进行开发,或者选择什么语言学习的主要判断依据。



总结:

简单的回答就是,语言并不重要。我先后使用过Java, C#, JavaScript, Ruby, Perl。也经历过各种纠结语言的时候,但其实最终发现这些都不重要,核心的其实是编程思想,例如面向对象,以及兴起的函数式编程。
你现在看到的是5年Java工作经验的工资高过.Net,但是五年后没准这两种语言都被淘汰了呢?



热忱回答1

版块

学习文档

最新会员

发布达人

回贴达人