天天看点

ruby 用途 与优势

ruby 主要用于做web,如使用 ruby on rails 

优点:

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语言优缺点)