技术开发 频道

Java和.NET继续争斗的四大相关问题

  【IT168 文档】在本篇文章中,著名程序员Justin James讨论了Java的未来,以及Java与.NET的开发成本对比,和Java是否能够取代.NET。Justin在文中总结了四大要点,重点关注了两个运行时在性能和成本上的异同之处。

  1、Java SE 7遭遇.NET CLR会发生什么?

  从Java SE 7的功能列表中可以看出,它相比以前版本有了长足提高。那么,它是一个游戏改变者吗?我认为不会是这样。在过去数年中,JVM和.NET CLR都发生了众多改进;过去那些只有技术非常高超的程序员才能完成的许多事情,现在借助于JVM和.NET CLR的增强功能,普通程序员也能够做得到。

  尽管JVM和.NET CLR并非在同一个时间实现相同的想法,但是如果在一方出现了某个好的想法,另一方也会迅速跟进,这一点不仅仅体现在运行时层面上。举例来说,对于Java来说,Hibernate项目取得了巨大成功后,.NET也迅速推出了NHibernate。而.NET的闭包(closures)功能深受众多开发者的欢迎,Java似乎不久也将实现它们,当然,这是一个语言功能,而非运行时功能。

.NET闭包大受好评,Java也将迅速跟进

  2、在可以预见的未来,一个运行时是否会彻底击败另一个?

  尽管从技术层面上JVM和.NET CLR非常相似,但它们都有自己的市场,两者的灵活性都不是很强。如果一个人已经围绕.NET服务器和IIS创建了他们的基础架构,他不可能第二天醒来把所有这些迁移到Java,反过来也是这样。甚至如果一个公司决定切换自己的开发平台,那它可能需要替换整个开发团队,或者从头开始对他们进行培训。即使培训完成后,在技能上还是存在严重的不足;毕竟,一个高级.NET开发者不可能在经过3个月培训后突然变成一个高级Java开发者。

  另外,公司需要保留现有技术人员来维护已有的代码。你认为这些员工会坐视他们的职位被取消,或者他们的技能将变得无用或贬值吗?当然不会。对一个公司来说,完全从Java转向.NET或完全从.NET转向Java,都是一种自杀行为。最多是通过一个多年期项目来对员工进行重新教育。自从.NET发布以来,从VB6到.NET的迁移都已经花了8年时间。

  程序员和项目的转型需要时间

  3、Java开发的成本是否比.NET开发更具经济性,如果是这样,人们是否会转向Java来节省投资?

  如果你仅仅着眼于工具,我的答案是“既对也错。”的确,只要你愿意,你可以在一个完全开源的组合上运行Java。你可以采取Linux/Tomcat/MySQL/Java组合,或者在服务器方面使用SpringSource组合(51CTO编者注:对于SpringSource服务器组合,有人却是表示不满的,可以参考这篇文章),在开发者的计算机上使用Eclipse或NetBeans。但是需要指出的是,无论出于什么原因,你都不会是开源替代产品的狂热支持者,我并非说替代产品就不好;如果是那样的话,与.NET工具相比,Java工具的价格相当,在很多情况下甚至更贵。而且从甲骨文和IBM等公司正在进行的业务来看,很明显许多公司认为有必要付费购买专有Java工具。就价格而言,在任一指定市场领域,微软几乎总是价格最低的企业类厂商。

0
相关文章