【51CTO精选译文】作为脚本语言,如PHP、Perl与Python的长期爱好者,Ruby语言曾对我造成极大的震撼。它是一个开源的、纯粹的面向对象的脚本语言。Ruby on Rails Web框架更是重要的兴奋点,Rails的经历令人相当难忘。目前,Ruby被看作是互联网领域未来的巨人杀手,而我们则没有理由不去深刻理解这种语言的强大能力。
我为什么要学习Ruby?
这是个很好的问题。很多程序员似乎都抱着不愿意再学习另一种语言的想法,而选择使用指定的语言作为锤子,打碎任何只要是挡住了他们路的螺丝、钉子、图钉或者任何尖锐的东西。套用一个很好的观点(这是我在一次Python会议上听说的):如果所有的程序员只有一把锤子,而所面对的螺丝钉又都很钝,那么情况将变得糟糕起来。这就是说,学习另一种语言,不仅能扩大你在其他语言方面的知识,也能使你的就业方向更加广阔,从而使你能够跳出为自己所设定的那个框框。那么,为什么不从反方向去思考这个问题呢?当然,人们希望,每个新的语言都采用了以前语言的优点,而同时又避开了它们的缺点。这也是Ruby创建的思想。
在创建Ruby时,松本说,他的意图是遵守歧义最少的原则,这或许意味着他希望语言的表达方式只会引起最少的迷惑或歧义。其结果:该语言是100%面向对象的动态类型,去掉了多余的句法要求(如缩进和分号),而使用一些几乎可以方便处理任何你能想到的任务的库来代替。在下面,列举出来了Ruby众多有意思的特点:
◆支持的多种平台,包括各种UNIX的变种,Windows 95/98/NT/Me/2000/XP和Mac OS X
◆通过mod_ruby能够实现Web应用程序的开发,它是一个Apache模块,被嵌入到Apache Web服务器中作为RUBY的解释器。
◆一个独立于数据库的接口,类似于Perl的DBI模块。目前,已经有相关的驱动了(DBDs),可以用于DB2、InterBase、mSQL、MySQL、Oracle、PostgreSQL和SQLite等数据库软件。
◆通过类似于wxRuby的设计,能够创建跨平台的、基于GUI的应用程序。
◆使用RubyGems可以简单的包装,并对应用程序进行管理。RubyGems的操作类似于Perl CPAN,通过一个方便的控制台界面,可以对打包的过程进行完全的控制。
◆通过内置的RSS和soap来支持Web服务。
◆拥有一个异常活跃的用户社区。Ruby Application Archive和RubyForge只是其中的几个例子,而现在已经有上百个项目处于开发中了。
鉴于这些特点,就很容易理解为什么Ruby得到了这么多程序员的关注。如果你想要成为一个优秀的程序员,尤其是,如果你正在做或计划做Web开发,那么你真的没有理由不去了解并学习Ruby。
原文:Should Ruby Be Added to Your Programming Repertoire?
作者:W. Jason Gilmore
【编辑推荐】