优点:
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语言优缺点)
上述很多缺点都可以通过良好的编程方法和规范来避免。
ruby缺点 ruby的优势
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
php,python,ruby,perl的优缺点?
提问者采纳 2012-02-25 08:41perl基本已经被淘汰,在各方面几乎已经没有优势,虽然说还正在开发perl6啊什么的,不过基本上大势已去。虽然在部分场合
php Python Ruby perl python -
redis 用于微服务间调用token
注:关于如何在windows, 目前网上有一些链接Redis的C#客户端工具,这里介绍其中也是目前我们企业版产品中所使用的 ServiceStackRedis, https://github.com/my
redis 用于微服务间调用token Redis redis List -
clean logo语言
下面的“clean”目标,是一个“伪目标”, clean: rm *.o temp 我们生成了许多文件编译文件,我们也应该提供一个清除它们的“目标”以备
clean logo语言 伪目标 文件名 子程序