java

位置:IT落伍者 >> java >> 浏览文章

Ruby能否成为第二个Java?


发布日期:2022年07月10日
 
Ruby能否成为第二个Java?

一直以来Ruby on Rails在中国及至世界开始火爆起来无论在Java的站点里搜索引擎中还是火热的论坛里你都会看到Ruby和Java叠对出现而且它们两个好像一对水火不相容的冤家被人们相互地比来比去甚至Oreilly这位多年来一直支持Java的大师级人物也开始出版Ruby方面的书籍带领人们从 Java这儿离开这场讨论的范围越来越大参与者越来越多甚至Java之父Gosling也卷入了争论当中不过共同的认识是Ruby在开发中的高效性超越Java和C#这个结果让许多开发者惊讶甚至令他们提出这样的疑问是否真的存在比Java和C#更好的语言?但是在众多的讨论中国人的关注度似乎少很多由于历史关系很多国人都不想去讨论这个问题也不相信Rudy会在中国成为第二个Java那么Ruby on Rails在中国的发展如何呢?印客网的技术总监庄表伟接受了IT记者的采访为广大读者解答了心中的疑问

Ruby暗流涌动

自从Ruby出现以来在业界便掀起了一场关于Java与动态语言之间的不休争论虽然一直没有一个确定的答案但围绕Java与动态语言之间的争论从来没有消失过随着Java的日趋复杂动态语言的优势——简化和易用就越加凸显出来Ruby一出大凡就有一石激起千层浪的景象伴随着Ruby的出现 业界也开始变得热闹起来许多网站都大篇幅的介绍Ruby有关Ruby评论的文章也是频频出现 Ruby的新闻事件都成为人们关注的热点这些都使Ruby和Java的争论更加激烈但是关于二者谁更具有优势谁能战胜谁的问题还是没有最终的定论

不过最近的几条新闻让本来就充满悬念的战争更是蒙上了一层薄雾首先是It 网站上的一条新闻 Sun 收购JRuby 向动态语言迈进一文这篇文章一出让支持Ruby的人兴奋不已因为Ruby能够成为Sun公司在JVM上支持的一个非Java语言足已看出Sun对 Ruby语言的重视程度从某种角度上讲Ruby能得到Sun公司的支持还是有其独特的优势

然而没过几天 一项伯利兹媒体的研究(下表)出现了非常有意思的结果该研究调查了在AJAX开发中人们都使用哪种语言结果表明Java语言以超过一半(%) 的使用率位居第一位 令人感到意外的是Ruby占有最低的使用率仅%甚至比C和C++的使用率还要低原文见: Ruby前途渺茫 对此有些人也开始对Ruby多多少少的产生了怀疑一方面是对Ruby语言特点的高度评价与肯定另一方面Ruby的使用率又是如此之低这两方面形成了鲜明的对比的确一项技术再怎么说它好没有人用没有得到市场的验证又怎么能说是真好呢

然而笔者认为对Ruby和Java谁更具有优势的讨论意义不大首先从Java来讲Java有其自己的优势并且 Java将会继续处于顶峰并在企业应用上保持良好的表现这一点毋庸置疑并且已经得到了市场的证明另外 Ruby的文本处理能力极强与Perl不分伯仲同时Ruby的语法简单还有异常处理以及迭代器等构造使编程变得简单明了这也正是我们所期待的下一代编程语言即语言简单如果单从某一种语言的角度来看我们似乎并不能看出什么但是如果站在更高的位置从不同的角度全面的看待问题我们不难发现二者将会求同存异各自发挥自己的特长从而使我们能构建出更加强大的应用程序 Sun 收购JRuby的同时 Charles Nutter JRuby 的核心开发者之一心开发者Thomas Enobo也都加入了Sun这似乎能够让我们把Ruby和Java联系在一起Sun公司如果能够在JVM上做充足的投入更好地支持动态语言 拥抱新的事物依托Sun公司的强大实力和其自身独特的优点Ruby必将会有巨大的市场同时Ruby也需要一个过渡期在市场中得到验证让更多的人去使用它但就目前来讲Ruby是暗流涌动蓄势待发!

黑马Ruby能否挑战Java

从上述的采访中我们不难看出Ruby正在得到中国及到全世界的认可谁又能说他不会成为第二个Java呢和Java的风光相比Sun公司由于在一些决策上的失误导致Sun公司没有像人们当初想象的那样是微软强有力的竞争对手反而一个不起眼的Ruby近来高频率的出现在我们的视野里有人把它比喻成新兵中绝对的黑马

可能我说这话会有很多的Java迷们要声讨我但是这个争论是实实在在摆在我们面前的而且这个争论也会继续的持续下去会随着Java的日趋复杂动态语言的优势——简化和易用就越加凸显出来如果说Java是一列稳固的货运火车那么Ruby on Rails就是一列时髦的特快列车

Ruby on Rails 创始人David Heinemeier Hansson认为Ruby等动态语言是Java在Web上最大的威胁者

Ruby on Rails 展示了你所使用的动态语言比Java更加便于维护以往所认为只有Java所具备的市场的影响力现在轮到Rails开始流行了

Geir MagnussonApache Software Foundation 成员同时也是Intels Middleware Products Division 的工程师曾经向听众调查多少人尝试过Ruby on Rails结果是半数以上的人举手不过当问到有多少人采用该产品框架时几乎所有人都把手放下

这个小调查表明了企业级Java开发人员还没有准备由Java转向Ruby on Rails开发不过Heinemeier Hansson说我看到许多Java开发人员都逃避Upstream他们反而对Low End让步——对大部分人多数时候都需要的另一种理解——表达了一种对真正需要的静态语言的强烈渴望

其实Java开发工程人员也不必像如临大敌一样认为Java已经走到了尽头Java未日即将来临每个语言都是在讨论中成长起来据我在网上所调查结果大多数网友观点任为Ruby没有Java强大它只是局限网页方面的脚本语言而已而且面对来自各方面的挑战Sun公司也不是无动于衷Java正通过改进和拓展虚拟机技术迎接挑战在技术领域方面Java还是世界上最好的而且有很多第三方控件的支持这是Ruby无法相比的在Web开发领域 Java也确实受到了Ruby的挑战有的开发人员不能容忍学习Servlets Spring XML Hibernate Struts 然后还要学习一些即将出现还待出现的粘合框架而转向Ruby最近在国内也出现一些中小型公司开始涉足Ruby开发我们今天采访的印客网就是很好证明但是不会出现Ruby狂热者预言的那样出现大批Java移民现象发生它们相互之间只能是共存的状态所以我坚信 Java不会离我们而去在大型工程开发中我们选择了Java作为新的体系架构而不是Ruby或者Python就是因为它是一个成熟的拥有免费和商用的大量工具和API的生态系统当使用Ruby或者Python编程的时候是有一些速度的提升但是有了现代的像IntelliJEclipse和 NetBeans的 Java IDE你可以在Java里走的更快但是用Ruby编程是很惬意的Ruby要想挑战Java还有一段很长的路要走使用RoR在第三方的支持还稍显弱小是否经得起考验还看未来的发展趋势

Java之父如何评价其它语言

对于现在种种传言以及我们前面所讨论的话题我们也很想听听Sun公司是做如何反应的最近在Sun 的教育与研究国际会议最后的讨论上Java之父关于网上争论给予了解释

我不认为新语言的出现会对Java构成威胁最近出现的大部分语言都是脚本型语言例如象PHP和Ruby这些都是完美的系统它们的强大是因为经过了特殊的处理化因此所有这些人们谈论的令他们今天很兴奋的语言都仅仅是用来产生Web页面的因此你们只是想生成一个网页他们会做得很好但是在应用领域别指望它们能有更大的做为因为他们都有严重的性能问题在所有这些动态语言中如果你试着用它们编写一些对执行有严格要求的东西那么它们都会可怕地失败如果你写一个语句a = b + c在性能差异上Java与PHP相比可能完全一样它们真正优良的地方在于它们都专注于一个领域他们会使在那个领域的编程更加简单我们一直在做的就是在工具之外获得更多的简化我们做了大量的工作来达到简单性和功能强大性之间的一个平衡点他们彼此之间是相互依存相互排斥的构建具有强大功能的系统恰恰要有几分复杂性正是因为这样世界才相互联系极大地帮助你运行的系统有了可以延续的框架利用PHP你能将Web表现层的内容做得很好你不要用PHP去写一个星际导航的类库这个它做不到

另一个与之有关的就是Microsoft的C#很难在一个水平上批评C#因为他们就是拷贝了Java规范那是我们担心他们会做出一些创新的东西的时刻但他们没有他们没有选择借鑒很明显他们只是集中于一个开发平台

我们尝试和所有的这些语言一起工作我们知道有许多人在谈论Java与X相比或Java与Y相比如何如何我们在努力工作来保证Java与 PHP或Java与Python相结合在一起这样你能用PHP做Web的表现层许多的人用PHP做Web的表现层用Java来做分析部分的工作因为Java在做高质量的分析工作方面真的是太棒了

上一篇:Java繁体中文处理完全攻略(一)

下一篇:用JAVA得到硬盘空间的三种不同方法