ITPUB论坛 » 动态语言 » Ruby的优势是什么 ?
新一届的微软MVP评选已经开始,欢迎各位推荐!
2007-1-22 17:58 rsmori9291
Ruby的优势是什么 ?

请大家谈谈Ruby的优势(相对面向对象的语言)

2007-1-24 21:41 frogprince-erp
不太了解

2007-1-24 23:42 justforregister
ruby是没啥优势, 是ruby on rails比较行

2007-1-25 23:39 lixiubing
看看

2007-1-26 15:25 HorseShell
Re: Ruby的优势是什么 ?

[QUOTE][i]最初由 rsmori9291 发布[/i]
[B]请大家谈谈Ruby的优势(相对面向对象的语言) [/B][/QUOTE]

Thanks
无比感激
Thanks
无比感激
Thanks
无比感激

2007-2-1 11:59 不带伞的少年
客观说Ruby是靠Ruby On Rails 才红起来了。。

现在这几个中,还是Python 和 Perl势头最猛。 但是我打算改投Groovy阵营了。。靠着大树好乘凉。。  IronPython 也没什么动静。

2007-2-4 16:43 HorseShell
[QUOTE][i]最初由 不带伞的少年 发布[/i]
[B]客观说Ruby是靠Ruby On Rails 才红起来了。。

现在这几个中,还是Python 和 Perl势头最猛。 但是我打算改投Groovy阵营了。。靠着大树好乘凉。。  IronPython 也没什么动静。 [/B][/QUOTE]
最好还是靠自己, 其他都是虚的

2007-2-7 12:35 ye_jian_hui
[QUOTE][i]最初由 justforregister 发布[/i]
[B]ruby是没啥优势, 是ruby on rails比较行 [/B][/QUOTE]

晕,没有Ruby你以为可以弄个Rails出来吗?

之前Ruby没有在国际流行只是因为他不是在美国“出生“而已.....

2007-2-7 20:39 justforregister
[QUOTE][i]最初由 ye_jian_hui 发布[/i]
[B]

晕,没有Ruby你以为可以弄个Rails出来吗?

之前Ruby没有在国际流行只是因为他不是在美国“出生“而已..... [/B][/QUOTE]
你懂不懂rails啊?

2007-2-7 23:00 ye_jian_hui
[QUOTE][i]最初由 justforregister 发布[/i]
[B]
你懂不懂rails啊? [/B][/QUOTE]


呵,对于Rails以前我粗略看过,但对于Ruby我在2002年就喜欢上并用到现在。您说“ruby是没啥优势, 是ruby on rails比较行”,我看起来觉得您有点贬Ruby的意思,所以上来说两句,如果是我理解错您的原意那就不好意思了。

2007-2-7 23:11 justforregister
[QUOTE][i]最初由 ye_jian_hui 发布[/i]
[B]


呵,对于Rails以前我粗略看过,但对于Ruby我在2002年就喜欢上并用到现在。您说“ruby是没啥优势, 是ruby on rails比较行”,我看起来觉得您有点贬Ruby的意思,所以上来说两句,如果是我理解错您的原意那就不好意思了。 [/B][/QUOTE]
我也无意去遍地ruby, 不过 ruby确实是靠rails红起来的,

2007-2-28 09:55 xiaoleaf
还没听说过呢-_-!!

2007-3-27 11:32 summerfly_apple
唉,各种语言更新太快,跟不上形式啊

2007-4-6 12:37 忍者神龟
对很多来说,ruby就是rails,这不得不承认。

在rails出来之前,ruby已经很成熟了。
最近的几次升级,基本上都是bug修正,基本的类库都已经很完备了。
比如pdf,xml,win32,等等。

2007-9-3 16:59 songxin
ruby的pdf类库,要么天价,要么太麻烦。

2007-9-19 14:53 okone96
rubyonrails架构 感觉不错,偶认为它的思想比较好
习惯约定优于配置
DRY原则
任何语言都各有千秋,用途而异
先玩玩再说

2007-9-25 11:46 tonygump1986
RUBY在RPG MAKER里到还有点用 不过那东西是玩具

2007-10-10 17:11 yacole
我这有两片网摘

归纳以来,Ruby有以下优点:

◆解释器

Ruby是解释型语言,其程序无需编译即可轻松执行。

◆变量无类型

Ruby的变量没有类型,因此不必为静态的类型匹配而烦恼。相应地,错误检查功能也变弱了。

◆不需要变量声明

所有变量均无需声明即可立即使用。另外,从变量名即可判断出是何种变量(局部变量,全局变量,实例变量)。

◆语法简单

语法比较简单,类似Algol系语法。

◆不需要内存管理

具有垃圾回收(Garbage Collect,GC)功能,能自动回收不再使用的对象。

◆一切都是对象

Ruby从一开始就被设计成纯粹的面向对象语言,因此以整数等基本数据类型为首的所有东西都是对象,它们都有发送信息的统一接口。

◆类,继承,方法

Ruby当然具有面向对象语言的基本功能。

◆特殊方法

可向某对象添加方法。例如,可以把GUI按钮被按下时的动作作为方法记述下来,还可以用它来进行原型库(prototypebase)的面向对象编程(有人这么干吧)。

◆用模块进行混合插入(Mixin)

Ruby故意舍弃了多重继承,但拥有混合插入功能。使用模块来超越类的界限来共享数据和方法等。

◆迭代器

该功能可以将循环抽象化。

◆闭包

可以将某过程片段对象化。对象化后的该过程片段就称作闭包。

◆功能强大的字符串操作/正则表达式

以Perl为样板创造出了功能强大的字符串操作和正则表达式检索功能。

◆拥有超长整数

添加超长整数功能后,可以计算非常大的整数。例如计算400的阶乘也轻而易举。

◆具有错误处理功能

错误处理功能可以使您编写代码处理出错情况。

◆可以直接访问OS

Ruby可以使用(UNIX的)绝大部分的系统调用。单独使用Ruby也可以进行系统编程。

◆动态加载

若OS支持的话,可以在运行时读入对象文件。

但Ruby也有下列缺点:

◆因为Ruby是解释型语言,所以速度较慢

◆静态检查比较少
--------------------------------------------------------
优点:
1 采用虚拟机实现跨平台
2 支持垃圾回收
3 脚本语言,灵活,容易扩展
4 支持面向对象
5 基于脚本语言,易于同Linux Shell进行交互
6 拥有功能强大和完善的标准类库
7 拥有良好的交互式运行环境:IRB,方便进行开发和调试
8 语言内置对规则表达式(Regular Express)的支持
9 直观的Block语法来实现循环遍历和函数回调
10 开放源代码
11 支持异常机制
12 同Perl和Python相比更容易用C语言扩展(来自Ruby官方网站)
13 支持动态载入类库
14 因为是解释型语言,不需要编译,修改后马上就可以执行
15 拥有一个完善的Web开发框架Rails
缺点
1 性能不如纯静态编译语言,例如C,但可以通过用C语言来扩展来解决
2 完全没有类型检查,灵活但容易隐藏潜在的问题
3 使用Module来实现多重继承,不如JAVA所采用的接口(Interface)方式清晰,而且由于没有严格的类型
检查,所以框架层的设计无法对实现有很严格的约束
4 没有很完善的开发,重构的工具,虽然现在Eclipse已经提供Ruby的开发插件,但还没有实现重构,跳
转和自动代码生成等很有用的功能,主要原因是由于Ruby支持动态类型
5 依然保留部分非面向对象的语法,例如全局变量,全局方法
6 允许在扩展代码中随意替换现有类的方法定义或变量,非常灵活,但可能会因为错误地修改了框架逻辑
而引发难以发现的错误,但可以用freeze方法来组织被修改
7 不支持真正的多线程,多线程环境是通过在虚拟机环境中模拟出来的,不能充分发挥多CPU的功能,如
果一个线程在执行底层调用被Block住则整个应用程序也被Block住。
8 对Unicode和多国语言的支持不好(来自Martin上海演讲实录3:细数Ruby语言优缺点)

2008-1-4 15:55 cauc_dg
呵呵,楼上说得够全!

2008-1-5 19:45 Angel.John
回复 #18 yacole 的帖子

整理的挺全的。好

页: [1] 2
查看完整版本: Ruby的优势是什么 ?


Powered by ITPUB论坛