Java对战.NET,战争与和平的游戏(ZZ)
在软件世界里,Java与.NET无疑是两个旗鼓相当的对手,一再上演着一出又一出你来我往、拼力争夺的好戏。在这种争夺的过程中,有受益者,也有牺牲者。平心静气地想一想,微软和Sun公司都是兵器的制造者,软件人员才是斗士,用户们只好去做受益者或是牺牲品。
真的有那么凄惨吗?事实上,和平的曙光已经出现了。
战争与和平
很多人认为,Java和.NET不是殊途同归吗!为什么又会烽烟缭绕呢?当然是世界级企业之间的商业竞争使然。这场战争常使软件开发人员陷于进退维谷的境地—Java还是.NET,应该选择哪一种开发平台?
事实上,不管选择哪一种平台作为基础,今后都必须面对Java和.NET共存和互操作的环境。这显然不是一件容易的事情,不过和平的曙光已经出现了。
Sun与微软在法律上的大和解算是一道曙光,只是光靠两家公司之间的一纸法律文书究竟能够解决多少问题,需要多少时间,这些都很难说。
不过,还有另外一道曙光!一些软件公司推出的开发工具可以在二者之间架起桥梁。
在这方面,可以留意一下Compuware公司。这家公司的应用开发解决方案倡导应用软件的完整生命周期管理,以往主要依靠Java技术。
最近,他们特别强调,把与Java竞争的.NET技术融入到其原有的产品框架之中。在技术上,Compuware的产品可同时支持Java和.NET两种平台。因此,在Coupuware看来,选择Java平台还是.NET平台已经不重要了,重要的是你要有一套完善、高效的软件代码管理工具。
从.NET入门,用Java提高
新的技术、工具和环境可以让你免除选择Java还是.NET的困扰。不过,即便还没有这些新工具,对于大多数软件人员来说,仍然可以走出高明的妙棋。
其实,Java和.NET两者各有所长。作为软件开发者,完全可以抛开两个厂商之间的矛盾与冲突,让自己成为两种技术融汇贯通的软件高手。
开放性是Java生命力的源泉,它不属于一个单独的公司,尽管Sun在其中起着关键性的作用。众多世界级的公司,例如IBM、甲骨文、BEA等等,都对Java都给予完全的支持。
出自微软的.NET最大的特点就是容易上手。花上两三个月时间,你就可以像模像样地当软件工程师了。相比之下,Java就不那么容易。可是,从软件技术的深度来看,.NET之中有没有分布式事务处理,这个问题仍然被许多资深的软件人员所质疑。
从个人职业发展需求来看,.NET入门那么容易,很快就会满大街都是.NET程序员,你还能期望有多高的薪水呢?
企业选择有不同
从软件人员个人的角度来看,以.NET入门、以Java提高也许是一种循序渐进的最佳路线。但是从企业的角度来看,选择Java平台还是.NET平台,却要用不同的思路来考虑。
从成本效益方面来衡量,.NET平台很容易在短期内以较低的成本开通运行,而且开发、管理人才比较容易找到,费用同样也比较低。但是随着经营规模的扩大,业务种类的多样化,.NET可能就无法胜任了。不过,无论在什么时候,中小企业毕竟占据多数,经营规模、业务种类很可能永远都不会扩大到.NET不可承担的程度。
对于大型企业来说,情况就复杂多了。在整个企业来看,由于现有规模和业务种类已经十分复杂,而且有多年遗留下来的应用系统,Java平台可能是最适当的选择。
但是,大型企业中新成立的部门,单独来看又很可能选择.NET比较合适。因此,两种平台并存将是永久的局面,这也就给Compuware、IONA等公司创造了很大的市场空间,也称为Java和.NET两大阵营之间的“和事佬”。