学习Ruby的10条理由

hidecloud发布于 2007-10-17 13:04:17| 次阅读 字体: 打印预览

cnBeta 最新消息

最近Ruby On Rails开发相当的火热。这是一种崭新的Web程序开发方式。利用其先进的建构能为用户快速搭建Web平台提供帮助。
但很多开发者还不是很清楚为何自己需要转换到Ruby上去。h3raLd为大家列出了10条为何要学习Ruby的理由。

1.你可以使用所有语言的强大功能
首先是错误处理功能,要知道这可是任何一个做高级开发的人员必须掌握的功能。而在PHP里面,你只能将出错的内容打印在屏幕上,然后慢慢猜测是哪出了问题。而Ruby采用的是类似C++的try/catch模块法。
其次Ruby的名字空间也十分易用。再加上内建强大的正则表达式处理器和各种重载操作符,一切你能在其他语言中想到的实用技术,在这里都能找到。

2.你会爱上Ruby在细节方面的可爱之处

3.你不用再打什么分号了
在Ruby中,就和在Python中一样。不过这样你也会失去将所有程序写在同一行的机会,有的人可是很喜欢这样做的,希望你不是这样。

4.每个东西都是一个对象,就和现实一样
当我开始学习Java时,他们告诉我每个东西都是一个对象,于是我问:
“那么14和374346.678也是对象了?”
“傻瓜,他们只是数字!”
但是在Ruby中,所有数字、字符串、布尔量都是对象!这意味着你可以这样写:
"YOU SHOULDN'T ALWAYS USE CAPITALS".lowcase
到时屏幕上就会显示:you shouldn't always use capitals
而在PHP中,你得这样写:strtolower("YOU SHOULDN'T ALWAYS USE CAPITALS")
看看吧,你节省了时间,节省了括号,最重要的是,这样的程序更具可读性。将每个东西都当作一个对象后,显然对扩展你的思维极具帮助。

5.每个东西都有一个值
你将不再会使用return来返回一个值了。所有的Ruby语句都会返回一个值,这意味即使你在末尾没返回值,Ruby也会自动返回一个值。

6.你能随意在不同开发环境中自由切换
当你使用系统提供的类或者他人的类进行开发后一段时间,突然觉得某些函数或方法写得不好,应该自己来写一个。如果你在传统开发中,你有以下选择:

a.你修改原来那个类的源代码。但是一般都不推荐这样做。
b.你从那个类继承出一个新类,然后你自己慢慢添加代码。但是这会影响到你之前写就的代码。
c.你放弃,然后自己另外创建一个新类。这或许很好,但是却很费时费力。

在Ruby中,你只需简单的把新方法加入到原来的类中就OK。这其中不涉及任何修改源代码的行为。比如你想自动转换从米到英寸,你可以为Numeric这个数字类添加一个新方法:
class Numeric
    def feet
        self*3.2808399
    end
end
从现在开始,你就为所有数字都添加了一个feet方法了。
5.feet #=> Returns 16.4041995

7.Ruby不支持多重继承

8.你不再需要XML了

对,我得承认XML的应用极其广泛。但是说实话,XML给人的第一印象的确很糟,结构不清晰,标记复杂,很难读懂。而且对程序来说,也很难描述和分析。因 此Ruby最爱的标记语言是YAML。这并不是说Ruby不支持解析XML,Ruby还是支持XML的,只是很多开发者认识到YAML的优异性能而从 XML转移到了YAML

9. Lambda is much more than a Greek letter

10.你能在Rails上使用它

你会发现Ruby on Rails是最好的开发模式。Rails是集成于Ruby其中的,因为Ruby提供了其他任何语言无法提供的优异性能。

cnBeta编译
消息来源:cyberarmy



 

对本文中的事件或人物打分
  • Currently.0.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

当前平均分: 打分后显示

-5-4-3-2-1012345
对本篇新闻报道的质量打分

当前平均分: 0.0(0 次打分)

-5-4-3-2-1012345
现在评论本文
共 82 条评论,显示 76 条
第1楼 Chris 发表于 2007-10-17 13:07:47
哪里有得下载啊???
回复 支持(0) 反对(1)   举报
第2楼 匿名人士 发表于 2007-10-17 13:08:16
学什么都一样,只是工具而已。看来这个新闻又该惹来大篇的议论了
回复 支持(4) 反对(2)   举报
第3楼 匿名人士 发表于 2007-10-17 13:08:55
不学Ruby的10条理由
回复 支持(28) 反对(0)   举报
第4楼 匿名人士 发表于 2007-10-17 13:08:59
so fast
回复 支持(1) 反对(0)   举报
第5楼 匿名人士 发表于 2007-10-17 13:11:13
呃。。。
回复 支持(1) 反对(1)   举报
第6楼 匿名人士 发表于 2007-10-17 13:12:12
不错,不过我不满意第4点和第8,太主观了。
回复 支持(16) 反对(0)   举报
第7楼 匿名人士 发表于 2007-10-17 13:12:43
动态语言都是这样的啊,phython,perl等都是这样
回复 支持(4) 反对(0)   举报
第8楼 匿名人士 发表于 2007-10-17 13:13:42
R.B. 不需要学习,学习 R.B. 不需要理由!
回复 支持(1) 反对(0)   举报
第9楼 匿名人士 发表于 2007-10-17 13:16:37
本来是想学学Ruby的,倒是这篇文章这么一说,我还不想去学了……
回复 支持(59) 反对(4)   举报
第10楼 匿名人士 发表于 2007-10-17 13:18:52
程序员应该坚守自己的阵地
回复 支持(3) 反对(0)   举报
第11楼 匿名人士 发表于 2007-10-17 13:19:11
怎么不见爱国人士出来?Ruby可是东洋货。。。
回复 支持(42) 反对(5)   举报
第12楼 匿名人士 发表于 2007-10-17 13:19:25
没多大用处。
回复 支持(0) 反对(0)   举报
第13楼 匿名人士 发表于 2007-10-17 13:22:23
看了这10条理由,还不如去学C#
回复 支持(1) 反对(0)   举报
第14楼 lurkerrrrr... 发表于 2007-10-17 13:23:18
a message to you rudy
回复 支持(0) 反对(0)   举报
第15楼 匿名人士 发表于 2007-10-17 13:23:46
还是喜欢C++...
回复 支持(0) 反对(0)   举报
第16楼 匿名人士 发表于 2007-10-17 13:26:15
见到日货就反对,那是狭隘的民族主义! 鄙视之
回复 支持(9) 反对(9)   举报
第17楼 匿名人士 发表于 2007-10-17 13:26:49
等待cb过几天发>.

BTW,Ruby是个不错的语言,相对于其他流行的语言,优势在于开发快速.
回复 支持(2) 反对(0)   举报
第18楼 匿名人士 发表于 2007-10-17 13:27:17
you can easily find that the author did not learn any C language.

these are the disadvantages:

3.你不用再打什么分号了

4.每个东西都是一个对象,就和现实一样 7.Ruby不支持多重继承 8.你不再需要XML了 9. Lambda is much more than a Greek letter
回复 支持(1) 反对(2)   举报
第19楼 匿名人士 发表于 2007-10-17 13:30:38
请不要从水渠转技术贴.
php可以try/catch是很早以前的事了,至于作者喜欢用echo,是作者自己的事。

第6条理由.开始说 "a.你修改原来那个类的源代码。但是一般都不推荐这样做。" 后面的例子却是完完全全a的做法。
回复 支持(4) 反对(2)   举报
第20楼 匿名人士 发表于 2007-10-17 13:31:04
第4、8条不敢苟同! ! !
回复 支持(0) 反对(0)   举报
第21楼 匿名人士 发表于 2007-10-17 13:31:05
“学什么都一样,只是工具而已。”

这种说法看似能抬高评论者的品位,但实际上空泛没营养。
回复 支持(33) 反对(10)   举报
第22楼 匿名人士 发表于 2007-10-17 13:37:15
乱七八糟
回复 支持(0) 反对(0)   举报
第23楼 匿名人士 发表于 2007-10-17 13:37:17
废品 文章。本来想学学ruby的,发现和perl差不多,继续用perl。
回复 支持(2) 反对(0)   举报
第24楼 匿名人士 发表于 2007-10-17 13:45:51
如果你是想尝试一下,则没有必要学习Ruby,倒不如去学习C#
回复 支持(1) 反对(0)   举报
第25楼 匿名人士 发表于 2007-10-17 13:47:56
说实话,没有"{}"的语言我看都不怎么样。
回复 支持(4) 反对(1)   举报
第26楼 匿名人士 发表于 2007-10-17 13:48:25
我觉得ruby的语法很混乱,而且对编程效率没有本质的提升,ruby是因为有rails才好用,其他的语言你找一个好的框架照样可以好用。但它的确给目前很多编程框架以指导方向。

最后强调,我很喜欢分号,没有分号我就看着不舒服,php早就有try catch,不支持xml算什么好处?
其实ruby最精髓的就是可以为一个类动态创建方法,它的应用也是这么衍生来的。
回复 支持(7) 反对(2)   举报
第27楼 非鱼 发表于 2007-10-17 13:52:11
因为Ruby提供了其他任何语言无法提供的优异性能。

这句话纯属误导。ROR到目前为止仍然没有出现一个稳定可靠的服务器平台,类似PHP Apache那样的。
回复 支持(1) 反对(0)   举报
第28楼 匿名人士 发表于 2007-10-17 13:53:58
和c相同
ruby写起来非常混乱
所以还是易语言好
不用易语言写程序的中国人就是汉奸卖国贼
回复 支持(3) 反对(5)   举报
第29楼 匿名人士 发表于 2007-10-17 13:54:49
php apache算稳定可靠的平台
你也太鼠目寸光了吧
回复 支持(0) 反对(7)   举报
第30楼 匿名人士 发表于 2007-10-17 13:55:43
用perl的汉奸
放着好好的易语言不用
回复 支持(1) 反对(8)   举报
第31楼 匿名人士 发表于 2007-10-17 13:57:18
看着真别扭,还是C/C 好。
回复 支持(0) 反对(0)   举报
第32楼 匿名人士 发表于 2007-10-17 13:58:25
php没 try/catch??
回复 支持(0) 反对(1)   举报
第33楼 匿名人士 发表于 2007-10-17 13:59:41
有些理由感觉有点像讨论basic的if...then...比c的if(...){...}更有优势一样
回复 支持(0) 反对(0)   举报
第34楼 Sanhe 发表于 2007-10-17 14:02:28
显然,这个文章是个不懂程序设计的记者写的。
回复 支持(4) 反对(0)   举报
第35楼 匿名人士 发表于 2007-10-17 14:03:19
的确,也觉这篇文章类似在讨论Basic 和 c /c 之间的情况。

从这种类比来看,Basic简单而且使用的人很多(国家的计算机等考试好像就有它吧),但论强悍和实用还是比不上后者。
看文章对Ruby的介绍,感觉它就如同Basic
回复 支持(2) 反对(0)   举报
第36楼 匿名人士 发表于 2007-10-17 14:04:18
不敲代码很多年
回复 支持(0) 反对(0)   举报
第37楼 匿名人士 发表于 2007-10-17 14:08:25
有一点很认同,,XML不是个好东西
回复 支持(1) 反对(0)   举报
第38楼 匿名人士 发表于 2007-10-17 14:09:00
不如Lua,魔兽都用Lua
回复 支持(0) 反对(0)   举报
第39楼 Tra 发表于 2007-10-17 14:11:12
ruby 的语法简单清楚 也支持XML 只是说轻量级的动态语言或者更适应轻量级的描述语言

动态添加方法是动态语言的优势之一吧 不光是ruby

第四点是很令人喜欢的 彻底的oop
回复 支持(0) 反对(1)   举报
第40楼 匿名人士 发表于 2007-10-17 14:11:23
非常支持{}风格的语法才好用,我想改进下Lua
回复 支持(1) 反对(0)   举报
第41楼 匿名人士 发表于 2007-10-17 14:11:32
>第6条理由.开始说 "a.你修改原来那个类的源代码。但是一般都不推荐这样做。" 后面的例子却是完完全全a的做法。



醒醒吧 人家根本就不是在修改 而是在扩展
回复 支持(0) 反对(0)   举报
第42楼 匿名人士 发表于 2007-10-17 14:14:42
...

请问你的电脑二进制是 "阴阳"吗?
回复 支持(2) 反对(1)   举报
第43楼 ctqucl 发表于 2007-10-17 14:18:14
ROR是唯一理由,不过PHP很快就能重新抬头了.
回复 支持(0) 反对(0)   举报
第44楼 匿名人士 发表于 2007-10-17 14:21:29
说了理由,却不说如何学习,不等白说,
回复 支持(0) 反对(0)   举报
第45楼 匿名人士 发表于 2007-10-17 14:22:06
使用lighttpd的飘过。。。
回复 支持(0) 反对(2)   举报
第46楼 匿名人士 发表于 2007-10-17 14:25:35
不学Ruby的2条理由



-> 小日本做的

-> 名字是林心如英文名
回复 支持(5) 反对(1)   举报
第47楼 匿名人士 发表于 2007-10-17 14:33:28
提高品位倒不敢当,我自认为没什么品味。那你觉得什么有营养?什么不空泛?
回复 支持(0) 反对(0)   举报
第48楼 Hong 发表于 2007-10-17 14:35:02
是的...只有当遇到M$这样的指挥员的文明用语迫时,我们才不得不背叛...
回复 支持(0) 反对(0)   举报
第49楼 Hong 发表于 2007-10-17 14:35:56
另外..我在用的是C#...
@www.RealSou.net
回复 支持(0) 反对(0)   举报
第50楼 匿名人士 发表于 2007-10-17 14:55:00
只能说,ruby比java还会吹
回复 支持(0) 反对(0)   举报
第51楼 匿名人士 发表于 2007-10-17 14:59:00
连面向人群都含糊不清的文章……



ruby 是给 php 人员用的

j2ee 开发人员可以浏览或者跳过 .net 人员可以思考 python 人员可以无视 普通用户可以鄙视,毕竟是日本人的东西
回复 支持(1) 反对(0)   举报
第52楼 匿名人士 发表于 2007-10-17 15:08:10
不知道Rubish是啥的100个理由
回复 支持(0) 反对(0)   举报
第53楼 匿名人士 发表于 2007-10-17 15:10:10
你丫是文明用语!
回复 支持(2) 反对(1)   举报
第54楼 匿名人士 发表于 2007-10-17 15:15:47
狗代谢产物 ! 别在这熏大家了!
回复 支持(2) 反对(1)   举报
第55楼 匿名人士 发表于 2007-10-17 15:23:18
上面的特点 javascript 都有



1.你可以使用所有语言的强大功能

而Ruby采用的是类似C 的try/catch模块法。 //javascript 笑了 其次Ruby的名字空间也十分易用。 再加上内建强大的正则表达式处理器 //XX电脑广告语:再加上强大的立式机箱 和各种重载操作符 //亲爱的,我把 运算重载成 - 了 2.你会爱上Ruby在细节方面的可爱之处 //你会爱上javascript在细节方便以及各种便利之处 3.你不用再打什么分号了 // javascript 又 笑了 4.每个东西都是一个对象,就和现实一样 //javascript 不想看下去了 5.每个东西都有一个值 //啊哈,我想最后返回 null ,不幸的是我忘记了 6.你能随意在不同开发环境中自由切换 //javascript: 不就是 prototype 么 7.Ruby不支持多重继承 //C 支持多重继承 8.你不再需要XML了 //你不需要学 SQL 但你需要学 HQL.你不需要学一行代码,但是你需要学一年的配置文件 9. Lambda is much more than a Greek letter // javascript can do 3. 10.你能在Rails上使用它 //Rainls 现在有各种语言版本的实现
回复 支持(1) 反对(0)   举报
第56楼 匿名人士 发表于 2007-10-17 15:34:01
真恶心
回复 支持(0) 反对(0)   举报
第57楼 wendal 发表于 2007-10-17 15:48:57
开发不是靠吹的!!

坚持用Java!
回复 支持(0) 反对(0)   举报
第58楼 老鱼 发表于 2007-10-17 15:56:28
连不支持多重继承都是特色。苹果的粉丝可以庆幸了,还有一群人比它们更S13.
回复 支持(0) 反对(0)   举报
第59楼 匿名人士 发表于 2007-10-17 16:05:40
4.每个东西都是一个对象,就和现实一样

当我开始学习Java时,他们告诉我每个东西都是一个对象,于是我问:

“那么14和374346.678也是对象了?”

“傻瓜,他们只是数字! ” 但是在Ruby中,所有数字、字符串、布尔量都是对象! 这意味着你可以这样写: "YOU SHOULDN''''T ALWAYS USE CAPITALS".lowcase 作者对Java的印象不知道是不是还停留在1.4时代……Java5开始就已经可以对基本数据类型进行自动拆封装了 再者说,一个字符串……对于任何面向对象的语言来说……都应该能象上面这样用吧……
回复 支持(0) 反对(0)   举报
第60楼 匿名人士 发表于 2007-10-17 16:16:18
发现一个金矿:YAML
回复 支持(0) 反对(0)   举报
第61楼 匿名人士 发表于 2007-10-17 16:20:44
哪个理由能跟c#比?
回复 支持(1) 反对(0)   举报
第62楼 匿名人士 发表于 2007-10-17 16:37:47
开发效率高,运行效率低!

Ruby的一大特点,怎么没有写出来?
回复 支持(1) 反对(0)   举报
第63楼 非鱼 发表于 2007-10-17 17:19:27
那你觉得什么算是稳定可靠的平台?
回复 支持(1) 反对(0)   举报
第64楼 匿名人士 发表于 2007-10-17 18:53:32
日本人的东西! 坚决抵制! ! !
回复 支持(1) 反对(0)   举报
第65楼 Roboon 发表于 2007-10-17 19:17:47
我懒,这是最好的理由
回复 支持(0) 反对(0)   举报
第66楼 匿名人士 发表于 2007-10-17 19:33:26
对不起,我们不支持立牌坊的性工作者。
回复 支持(0) 反对(0)   举报
第67楼 匿名人士 发表于 2007-10-17 20:48:06
西方人学中国,学去火药造枪炮。日本人学中国,学去知识打中国。咱们见到了有用的东西却不要,难道又要摆天朝风度吗?有好的东西就要拿来,管他是谁的,管他是在哪里的,学好了,为己所用,壮大自己,这才是真正的爱国!
回复 支持(1) 反对(0)   举报
第68楼 匿名人士 发表于 2007-10-17 20:49:49
JAVA是95
回复 支持(0) 反对(0)   举报
第69楼 匿名人士 发表于 2007-10-17 20:50:22
跟本不是一回事。
回复 支持(0) 反对(0)   举报
第70楼 匿名人士 发表于 2007-10-17 20:51:28
要都考虑运行效率,也不会有C 、JAVA、C#,大家都用汇编或是机器语言好了
回复 支持(0) 反对(0)   举报
第71楼 匿名人士 发表于 2007-10-17 22:41:42
有一些理由比较吸引人,有些理由根本就不是优点。

一个足以让我不使用它的理由:日本人写的。
别和我说什么编程无国界,那你们干吗还要研究中国的技术?都用世界的好了。
回复 支持(0) 反对(0)   举报
第72楼 匿名人士 发表于 2007-10-18 02:44:42
支持國人寫個類似的軟件..漢化它
回复 支持(0) 反对(0)   举报
第73楼 匿名人士 发表于 2007-10-18 02:47:57
貌似寫這篇文章的不是日本人,原文是英文的,估計對象群眾不是偉大的國人 建議你也不要用日產的東西,大家一起抗日好了 只會嘴上說說
回复 支持(0) 反对(0)   举报
第74楼 匿名人士 发表于 2007-10-18 02:50:37
偷笑中..去用那些國產的吧 你們支持他們,可是他們只會宰你們 如果想說我家里有沒有國產的東西-.- 估計除了人以外沒有了 我愛中國,可是天朝太偉大了
回复 支持(0) 反对(0)   举报
第75楼 匿名人士 发表于 2007-10-18 08:16:29
不學Ruby。隻需要一條理由!



“我們公司不用Ruby開發! ”
回复 支持(0) 反对(0)   举报
第76楼 匿名人士 发表于 2007-10-20 09:57:37
都只是些 习惯而已。根本算不上理由。



那么 你为什么要挑战 程序员的习惯呢?
回复 支持(0) 反对(0)   举报
热门评论
匿名人士 发表于 2007-10-17 13:16:37
本来是想学学Ruby的,倒是这篇文章这么一说,我还不想去学了……
回复 支持(59) 反对(4)   举报
匿名人士 发表于 2007-10-17 13:19:11
怎么不见爱国人士出来?Ruby可是东洋货。。。
回复 支持(42) 反对(5)   举报
匿名人士 发表于 2007-10-17 13:31:05
“学什么都一样,只是工具而已。”
这种说法看似能抬高评论者的品位,但实际上空泛没营养。
回复 支持(33) 反对(10)   举报
匿名人士 发表于 2007-10-17 13:08:55
不学Ruby的10条理由
回复 支持(28) 反对(0)   举报
匿名人士 发表于 2007-10-17 13:12:12
不错,不过我不满意第4点和第8,太主观了。
回复 支持(16) 反对(0)   举报
匿名人士 发表于 2007-10-17 13:48:25
我觉得ruby的语法很混乱,而且对编程效率没有本质的提升,ruby是因为有rails才好用,其他的语言你找一个好的框架照样可以好用。但它的确给目前很多编程框架以指导方向。

最后强调,我很喜欢分号,没有分号我就看着不舒服,php早就有try catch,不支持xml算什么好处?

其实ruby最精髓的就是可以为一个类动态创建方法,它的应用也是这么衍生来的。
回复 支持(7) 反对(2)   举报
匿名人士 发表于 2007-10-17 14:25:35
不学Ruby的2条理由

-> 小日本做的
-> 名字是林心如英文名
回复 支持(5) 反对(1)   举报