background image

因为

.Net 和 Java 是国内市场占有率最高的两门技术,对于准备学习编程语言的初学者来

说,

.Net 和 Java 是初学者首先考虑的两门技术,因此很多人一遍遍的问“学.Net 还是学

Java”,社区中也每天都有“.Net 控”在唱衰 Java,也有“Java 控”在唱衰.Net,一时间硝烟四起,
让初学者更加迷惑。
做为一个

.Net、Java、Delphi、Python、PHP 等语言都进行过有一定复杂度的项目开发的人来说,

我对任何一门语言都没有宗教式狂热崇拜,因此我也相对理性的对整个问题进行分析。
从北京、广州、上海等地区

2010 年的就业统计数据(由于没有找到更权威的数据,这些数据

是我对主流招聘网站和技术网站的相关数据进行的并不是太严谨的分析)来看,

.Net 和

Java 的职位数量比例为 2:3,从就业网站和主要技术社区数据来看,2010 年.Net 和 Java 的
学习人员数量比例为

1:3。从数据上看,.Net 的职位绝对数量比 Java 低一些,不过 Java 学

习人员数量比

.Net 学习人员高出 3 倍,因此.Net 职位的竞争激烈程度低于 Java。

由于

.Net 秉承了微软技术的入门简单的特点,经过短时间的学习就可以掌握拖拉控件的快

速开发方式,很多人被

.Net 的快速开发方式所满足,认为自己“学成了”,不再深入研究,

因此人才市场上充斥着很多只会拖控件、而不懂

.Net 更深入一步技术的.Net 开发人员,比如

很多

ASP.Net 的书上都是讲 ASP.Net 服务端控件,很多

所谓

“精通 ASP.Net”的人连什么是

Http、HTML、JavaScript、Dom 等基本概念都稀里糊涂

,实际公司项目中很多功能点的实现不

是简单的拖一个

ASP.Net 服务端控件就能搞定的,因此看似学习.Net 的人非常多,但是真

正满足企业要求的人则比较少;而

Java 则入门门槛比较高,如果想要配置一个 Hello World

级别的学习环境就会涉及到很多技术,开发环境也要学习者自行配置,对于初学者来说可
能花费一周时间都无法配置一个最简单的环境出来,

Java 的开发环境也不像.Net 开发环境

那么可用性强,

Java 和.Net 的区别就像 Windows 和 Linux 的区别,正因为 Java 学习门槛非

常高,很多学习者被淘汰了下来,这样能够撑过一个个难关学习下来的开发人员都是水平
比较高的人员。因此

.Net 初级开发人员的工资平均是比 Java 初级开发人员的工资平均略低

的。但是由于

.Net 中高级人才非常缺乏,因此掌握.Net 深入技术的开发人员在企业内部是非

常吃香的,招聘人员经常发出这样的感叹

“招合适的 Java 工程师能招来一堆,招合适的.Net

工程师一个月都招不来几个

”。 

.Net 入门快,在.Net 中微软为开发人员提供了一套最佳的技术架构搭配、集成的开发环境,
用微软的技术架构开发出的系统就可以保证最好的效果,而不用像

Java 开发人员那样去学

很多开源框架再去学习搭建技术架构、开发环境,因此

.Net 学习周期比 Java 短,有了语言

基础后再进行集训式的就业班学习,那么

.Net 学习者学习 3 个月可以进入就业,Java 学习

者需要

5 个月可以进入就业。

微软的本地化推广工作做得非常好,因此学习

.Net 有大量的中文资料可以参考,因此除非

研究很高深的领域,否则中文资料基本能满足开发者的需求;而

Java 由于走的是高端路线,

因此除了初学者资料外,大部分

Java 资料都是英文的,学习 Java 需要参考很多英文资料。

因此如果英文非常好的学员学习

Java 就会很轻松,而英文不是很好的学员学习.Net 会更好。

综上,

Java 入门门槛比较高,需要有足够的毅力和百折不挠的精神,只要你能坚持下来你

就可以将很多人在入门门槛上就将很多竞争者甩在身后。

.Net 入门门槛比较低,装上

VisualStudio 就可以马上进行开发,不需要进行太多的配置、不需要学太多基础知识,这样
可以很轻松的掌握入门

.Net 学习,是有很成就感的事情,能让你有兴趣进一步学习,但是