Ruby 将替代 Java 吗?我想没这么快

   我听过很多这样的议论:Ruby On Rails (RoR)够酷够简单,编写一

个Web Application的速度比Java快10倍,并且它拥有一些Java所没有的优越特性.所

以,Ruby将代替Java成为下一代编程语言,正如Java取代C++/COBOL,C++取代Fortran

一样.


   然而我认为这种想法有一些严重的逻辑问题,首先,正如高新技术的短暂历史证明的一样

优秀的技术并不一定能够取代与之相比有劣势的技术,事实上相反的情况经常发生。决定

Ruby与Java孰强孰劣的正在力量不是RoR比Java EE有多优秀而是Java EE对于主流开发人

员来说是否足够好.


   从经济学的角度来讲,选择技术上更优秀的编程语言不能带给你总量成本和创造性方面的

优势.能够带给你优势的是更好的需求收集,更好的客户反馈,更好的开发流程,培训的更好

的开发者,还有更好的开发工具,等等.从软件工程的角度讲,在实际的开发中使用的语言在

价值链的越低端,越容易实现(成本越低)。


   现在你也许会问,"如果如你所说语言的选择无足轻重,那为什么Java会变得如此成功,

并且取代了如此多的老编程语言?"那么让我们来看看Java是否真正取代了其它语言,我最近

在研究所开发一个PhD的程序,所有新的令人讨厌的捣弄数字的软件我们都是用Fortran编写

的.它没有被C++和Java取代 .在这个项目中Fortran已经足够好了,转向一个新的够酷

的语言不能是科学计算更好,更快,并且重新培训会使得项目丢失任何潜在的创造性成果.再

举个例子,支配富客户端软件开发的语言仍旧是C/C++/VB.即使是大规模宣传销售的


  据我观察一种语言不能取代一种语言,新的语言的崛起总是带来新的应用领域和大量涌入

的开发人员他们愿意尝试一种新语言--很简单,这是因为这一领域没有被任何一门语言占领.

你必须为新语言创造足够大的空间来使它强大,Fortran随着科学计算崛起,Cobol随着营业

计算崛起,Java随着Web Application崛起,那么现在是否有一个崭新的计算机领域等着

Ruby和RoR占领呢?回答是否定的,现在不是另外一次大扩张时候.


   Ruby擅长于简化一个简单的开发任务,创建简单的数据库驱动Web Application.我坚

定的认为Java在这一领域已经足够强大,没有RoR Web 站点可以完成而Java站点不能完成

的任务(虽然存在Ruby可以做但是Java不能做的任务,但是坐在浏览器前的用户并不关心这

些)Java仅仅是占用了更长一点的时间让初学者入门,并且那是对于高端应用和遗留的老系

统而言,重新培训Ruby开发人员并不能证明生产效率的提高,并且RoR工作区的应用相应的

更加昂贵.


   当然Ruby在一下两个方面值得学习的重要技术:

   #RoR最重要的影响是驱动Java EE的创新--正如C#驱动Java 1.5的创新.我们已经它已

经在发生.

   #对于想快速创建Web应用的人,Ruby/RoR是一个很好的尝试工具,用来向市场展现快速

一个beta/原始版本.
   所以,虽然我鼓励每一个Java开发人员学习Ruby/Ror,但是我并不认为它能取代Java在web Application 领域的地位.呵呵,仅仅是我的想法而已!

http://java.sys-con.com/node/152658

你可能感兴趣的:(java,编程,Web,Ruby,fortran)