本文件转自 [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当中去,即省了琢磨的时间,还可以忽悠老板,同样也是多拿工资。毕竟生活就美好了一些。
当然,判断一个技术的出路还要看市场的前景,这个就不在这里讨论了。
分享到:
相关推荐
这本书籍反映了Java开发者在技术探索与实践中所面临的挑战、困惑以及成长的喜悦,是Java程序员不可或缺的参考资料。 Java,作为一种广泛使用的高级编程语言,自1995年发布以来,因其平台独立性、安全性和高效性而...
【描述】提到该资料作者虽然主攻.NET方向,但愿意分享在Java编程领域的学习心得,并乐意解答相关问题。这表明这个资料不仅提供了理论知识,还可能包含了一些实际操作的经验分享,对于初学者来说具有一定的指导价值。...
然而,随着Mono for Android等技术的发展,C#成为了另一种可行的选择,为.NET程序员打开了通往Android世界的大门。这一转变不仅意味着代码的复用性大大提高,还能让开发者在Windows Phone和iOS平台上实现代码的一次...
1.1 Microsoft.NET——一场新的革命.4 1.2 .NET 与 C#.6 1.3 C#语言的特点.8 1.4 小 结 .11 第二章 运行环境 全面了解.NET.12 2.1 .NET 结构.12 2.2 公用语言运行时环境与公用语言规范.13 2.3 开 发 ...
在动态解释执行方面, Pike适合C程序员,Beanshell适合Java程序员;JavaScript是正统的动态页面语言,PHP是最专门的服务器端语言;XML语言及其衍生如XUL在特定领域提升效率。Lisp和Tcl易于实现,特别是Lisp的自由度...
这位老师可能已经在IT行业摸爬滚打多年,积累了丰富的经验和深入的洞察力,他的教导对于那些正在起步或者遇到困惑的程序员来说,无疑是宝贵的资源。 首先,从描述中提到的"转换思维",我们可以理解到,老师强调了...
在Java或.NET等语言中,内存管理大体上是自动的,但C++的程序员可以更直接地控制内存,从而获得更高的性能,但也承担了更多的责任。 内存管理主要包括三个方面:内存分配、内存泄漏和内存回收。在C++中,内存主要...
尽管Java拥有丰富的库和框架,但其复杂性和面向程序员的设计使得学习曲线较高,尤其是对于新手或概念理解不深入的开发者来说,选择和集成各种框架可能成为一个挑战。 Rails的出现打破了这一局面,它提供了一个简单...
在该系统上安装和配置编程工具可能需要一些特殊的步骤,比如兼容性设置或手动安装.NET Framework。 4. **开发环境**:安装和配置IDE(如Visual Studio、Code::Blocks、Eclipse、PyCharm等)对于编写、运行和调试...
它支持多种正则表达式语法,包括Perl、JavaScript、.NET、Java等,满足跨平台和多语言的开发需求。用户可以通过添加、删除和编辑字符、元字符和量词来构建自己的模式,同时RegexMagic会实时显示匹配结果,帮助用户...
然而,缺乏这些基础可能会在实际开发中遇到难以解决的问题,例如在.NET或Java开发中,可能只知道如何使用控件,却不知道其内部原理。这种情况下,当遇到一些复杂问题时,可能无法找到解决方案,甚至可能因为基础薄弱...
9. **Python解释器**:Python有多个解释器,如CPython(官方实现)、Jython(运行在Java平台)、IronPython(运行在.NET平台)。 10. **Python版本**:Python有两个主要版本,Python 2已不再维护,Python 3是当前的...