中关村村草 发表于 2010-12-07 10:46

程序员们,是时候开始学习Ruby了

程序员们,是时候开始学习Ruby了



Ruby自从Programming Ruby一书问世以来便开始在英文界流行起来,而发展了这么多年,Ruby以及Rails优秀的特质令无数开发者为之倾心。事实上,一个优秀的程序员现在已经没有理由不了解学习Ruby了。


         作为脚本语言,如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

2gua 发表于 2010-12-07 10:55

通过mod_ruby能够实现Web应用程序的开发,它是一个Apache模块,被嵌入到Apache Web服务器中作为RUBY的解释器。
=>这个领域,不能不提RoR,正是有了这个杀手级Ruby Web开发框架,Ruby名声才一跃而起。

拥有一个异常活跃的用户社区。Ruby Application Archive和RubyForge只是其中的几个例子,而现在已经有上百个项目处于开发中了。
=>现在RubyForge改成RubyGem了,汇集了大量的Ruby应用和库信息。

总之,Ruby在全球IT业内的发展态势极好。

中关村村草 发表于 2010-12-07 12:23

回复 2# 2gua


    这个是必须滴

兰花仙子 发表于 2010-12-07 12:29

ruby的DBI、Net::××系列,全面照搬Perl的实现。
有些模块如Net::DNS,完全就是把perl翻译成ruby.

不过,ruby程序没有分号、普通变量没有$@%那些东西、没有花括号的机制,的确俺很喜爱。

jhui66 发表于 2010-12-07 13:04

很陌生,不过看了楼主的帖子,决定有空一定要看一下相关的书籍,增加知识面吧

Sapien 发表于 2010-12-07 14:10

“Ruby就是‘没有到处打广告的Perl 6’”

2gua 发表于 2010-12-07 14:38

回复 6# Sapien


    不对,我不认为这样。Ruby是Ruby,Perl是Perl。

zuerrong 发表于 2010-12-07 17:23

回复Sapien


    不对,我不认为这样。Ruby是Ruby,Perl是Perl。
2gua 发表于 2010-12-07 14:38 http://bbs.chinaunix.net/images/common/back.gif


    ruby是到处不打广告的perl6
的确是有这么个说法
perl6不知对OO支持如何了
perl5看过基本语法,与ruby差别很大。

zhlong8 发表于 2010-12-07 17:34

语法差异无非是 end 和 大括号的区别,说 ruby 像 perl 主要指的是文本处理这方面吧

2gua 发表于 2010-12-07 17:41

嗯,俺还是不敢认同这个观点哦。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 程序员们,是时候开始学习Ruby了