Java VS .Net 程序员的困惑 (转)
本文件转自 [url] http://www.cnblogs.com/xiaomin/archive/2009/01/07/1371015.html[/url]
近日看到一则新闻,OdinJobs.com最近做了一项调查,就San Francisco地区J2EE和.NET的就业市场以及薪资做了比较,从这两个技术的平均薪资来看,在Architect/Lead角色中.NET的平均薪资略高于Java/J2EE,而在Developer角色方面,Java/J2EE的平均薪资更高一些。(http://news.csdn.net/n/20081209/121616.html)
本人从事软件开发也有5年多的时间,PB,C#,JAVA都用过,曾经经历过,也目睹了许多程序员的迷惘。技术OR管理?国企OR外企?JAVA 或.NET?
记得我一年前稀里糊涂被一个电话叫去华为面试。后来才发现他们需要的是有C或者JAVA项目经验的人,而且工作地点不确定。我明确告诉他1.我只有.NET的开发经验,2.我要去上海。所以可能不适合你们公司。正要转身走人。面试官和颜悦色的邀我顺便聊几句。然后此君就开始说为什么华为不选择.NET的原因,然后说了一句:微软的东西没有技术含量,只能做中小企业的项目。我心里想:你们是做JAVA的,然后就说微软的坏话,未免太不厚道。但是我回答说:不管做什么东西的,都是一个金字塔结构,我只希望我能够最终站到金字塔的塔尖。
探讨.NET与JAVA技术谁优谁劣的文章太多。我不想跟他争辩。看到这个新闻我想起这个事情来,是有句大实话要一吐为快。
.NET程序员说,微软的开发环境如何好用,可视化编程做的无与伦比。JAVA的IDE太弱智。
JAVA程序员说,.NET程序员就会玩玩可视化控件。在架构方面落后JAVA很多年。根本没法做大型项目。
这则新闻真是对这两种说法极大的讽刺, .NET程序员觉得使用微软的开发环境更爽,但是他们拿得钱却比JAVA的程序员少;JAVA的架构比.NET架构成熟,但是JAVA的架构师却拿的比.NET架构师少。
为什么呢?因为大家都知道微软是谁,SUN是谁,而且产生了幻觉,以为用了微软的产品就是微软的人,下意识的维护微软,忘了自己是谁,自己的价值如何体现。
一种技术越成熟,那表示掌握它就越容易,就可以花更小的成本去使用它。所以,.NET程序员以为微软的可视化开发环境难道是因为心疼程序员才开发出来的吗?NO!是为你们老板做的!因为他可以把你开除,用一半的薪水雇个高中生就能开发了!
同样的道理,JAVA在架构上已经有了最佳实践,因此架构师只要按部就班就行了。那还需要花大价钱招牛人吗?找个熟练工就OK了。相反,.NET架构就比较难了,因为微软没告诉我们应该怎么做。因此必须花多点钱雇个高手,否则就砸锅了。
我想很多人应该经历过这样的情形:你想要学一种新东西,你很兴奋的去查资料,但是每个人说的都不一样,你很郁闷,你很沮丧,甚至生气,为什么要搞明白一个东西就那么难呢?现在你要明白,如果一个问题,每个人回答的都一样,那就没你什么事了,(比如你问,怎么用VS2005建一个窗口?)。如果每个人的说法都不一样,那么,机会来了。
因此JAVA的程序员多学学微软的可视化思想,把它用到开发中去,即多拿了工资,又提高了效率。.NET的架构师多掌握JAVA的架构体系,拿到.NET当中去,即省了琢磨的时间,还可以忽悠老板,同样也是多拿工资。毕竟生活就美好了一些。
当然,判断一个技术的出路还要看市场的前景,这个就不在这里讨论了。