题外话:前几日笔者的“一个JavaFans的质疑和忧虑”得到诸位的热烈捧场,非常感谢!该文题为“质疑和忧虑”,自然是源于笔者学习过程中产生的焦虑情绪。故而期待诸位高手的真知灼见,以澄清思想,坚定信念。其实笔者本身主要从事维护工作,编程不过是业余爱好,再加上是半路出家,所以感谢诸位高人对笔者技术上的指难,错误的地方敬请斧正,只是希望不要罗列一大排重复的词语。笔者本来打算讨论的其实并非技术本身,而是技术与商业利益的关系,故厚着脸皮再撰一文,希望与诸位继续探讨。另外希望年龄小一点的同道多举一点事实,少一些火气与笔伐。讨论问题本身是好事,可以从别人的意见和经验中学到很多学问,望大家在csdn这个共同的家园中走好。
J2EE与.NET之争由来以久了,论坛上每一次争论都可说是波澜万千。这说明程序员们对二者是极其关注的,而且说明大家其实都处在左右为难的境地,否则就没有什么好争论的了。说得再清楚一点,这与大家现在及未来的钱途关系很大。J2EE现在无疑是霸主,如果早上三五年,大家学习Java,无疑是非常明智的选择;可惜.NET现在热起来了,而且问题的关键是.NET会占据多大的市场,也就是它会走多远的问题。这就是好比大家买足球彩票,如果欧洲杯有哪位幸运儿购买了希腊队,那将是件很爽的事情!国内的诸位其实无法左右二者核相争的结果,但结果却对大家有着不小的影响。比方说,现在的IT市场,只要打上“J2EE”这个招牌,就意味着较高的就业率和薪水,也意味着产品较高的卖价。但.NET是野心勃勃的,而且它又出自MS!故未年几年的走势很难说。所以对于现在还未充分掌握J2EE和.NET的多数程序员来说,在二者之间如何选择无疑就是一场赌博了。这一点高手们或许不以为然,的确,只要能成为任何技术的高手,就业率与薪水都是不用愁的。可是所谓高手就必然是少数派,大多数的同道仍然要受技术主流的影响。这正是“水涨船高”的道理。而且现在不论是J2EE或是.NET,由于体系的大而全,都是很费时日的。
其实在中国,以笔者观点,J2EE的胜率现在看来是比较高的(这也就是笔者自称为JavaFans的原因,仅只是“爱好者”,无非是瘾大技术差而已)。国人钱很少,而软件正版化是迟早的事情,所以现在连政策都倾向于linux了。笔者现在主要也是用Eclipse+Jboss+MySQL(全免费)。J2EE发展了好些年,又得到OpenSource诸多高手的鼎力支持,目前相对.NET要成熟得多。可惜现在Sun、IBM、Oracle、BEA、OpenSource这么几大块势力常常争执不休,搞得开发者常常无所适从。比如说经院派的EJB与“轻量级”的Hibernate、Spring等等。
作为后起的.NET,要想搬倒老大哥,自然就要扬长避短。最初有名的PetShop之争即是其宣传手法。经过长时间的争论,大家对于纯技术上的高下其实已经没有什么兴趣了。说白了,就是你不错,我也不差。那么决定胜负的关键其实是在技术之外(多年来的事实也反复证明是在技术之外)。MS的商业手段无疑是NO.1,这正是其成为老大的根本原因。经过了PetShop的尴尬之后,MS的宣传中剩下的主要优势有两点:一是统一,即产品系列统一,标准、架构统一,甚至学习研究也统一(MSDN),这意味着省时省心,相应也要付出不菲的价钱;二是高效。这是最大的疑点,也是笔者真正感兴趣的问题所在。各位高手们相信都曾用J2EE或.NET都做过不少大大小小的产品或项目,可曾有人用心计算过在学习和开发中耗费的时间与钱财?可曾对比过二者利润上的差别?可曾计算过这块蛋糕是否如宣传的那么大?如果能够列举一二实例,笔者不胜感激!众多无所适从的徘徊者们也都不胜感激!
我们生活在现实而残酷的商业社会,不得不符合商业社会的铁律:那就是如何降低生产成本,以低于社会必要劳动时间,从而获得较高的利润。以我非常有限的经历而见,大多数程序员是相当勤奋的,并且为此行业付出了太多的时间、精力乃至健康。所以,我们是否应该在Coding之余,好好想一想自己的利益问题,也就是能把最宝贵的时间与精力投到最适合自己的地方,去获取更好的收益。(参拙作“软件从业者的杞人忧天”)
致诸位同道!