Ruby对比Python的优势和劣势

 更新时间:2015年05月07日 09:12:08   投稿:junjie  
这篇文章主要介绍了Ruby对比Python的优势和劣势,本文分别介绍了Ruby 比 Python 的优势和劣势,帮助你选择哪种语言来学习,需要的朋友可以参考下

Ruby 和 Python 太相似了,取舍大部分都是个人喜好上的原因。比如我就觉得 Python 的 “There is only one way to do it.” 比 Ruby 的 “There are many ways to do it.” 要好,这不光是考虑团队协作的问题,更重要的是自己能很快明白自己三个月前写的没有任何注释的代码是在干什么。当然也有很多人觉得自由和灵活要比可读性来的重要,所以我说这个是个人喜好的原因。

客观上的 Ruby 比 Python 的优势我想到的有这么几个:

Block 应该是语言层面上 Ruby 比 Python 更酷的地方,Python 的匿名函数(lambda function)制约太多,属于鸡肋(BFDL GvR 不认可函数式编程的许多方面)。

OS X 上的话,Ruby 比 Python 最重要的优势可能是 MacRuby (http://www.macruby.org/) 的存在。我大胆猜测以后 MacRuby 将成为 Objective-C 之外(如果不是完全替代的话)的苹果官方语言。MacRuby 除了能更加方便快捷的创建 Cocoa 应用外,ruby block 使得利用 OS X 的 Grand Central Dispatch 变得容易,在以后的多核、混合核(CPU+GPU)应用上非常重要。

劣势:

Ruby 的硬伤之一在于性能。官方实现 Ruby 1.9 比 CPython 逊色不少。另外 Python 拥有诸如 Numpy, Psyco, PyPy, Cython 等多种性能倍增的途径,相比之下 Ruby 想要提高性能的途径则非常有限。

Ruby 的硬伤之二在于第三方包。Ruby 传入英语世界并大规模流行起来的时间不长,大部分的第三方包都和 Web 相关,Web 领域外的包数量远远不及 Python。特别是在科研等方面的区别非常明显,很多学科领域都有基于 Python 的成熟应用,而几乎找不到 Ruby 的相关包。这除了历史渊源,也和 Python 更加简洁的语法(很多用 Python 做研究的人不是计算机专业的)以及前述的性能倍增器(主要是 Numpy 和 Scipy)有密切的关系。

相关文章

  • Ruby解析处理YAML和json格式数据

    Ruby解析处理YAML和json格式数据

    这篇文章主要介绍了Ruby对YAML和json格式的数据处理方法,json序列化、json反序列化,json解析等操作,需要的朋友可以参考下
    2022-04-04
  • Ruby中的p和puts的使用区别浅析

    Ruby中的p和puts的使用区别浅析

    这篇文章主要介绍了Ruby中的p和puts的使用区别浅析,本文用一个实例讲解了它们之间的区别,并总结出结论,需要的朋友可以参考下
    2015-03-03
  • Ruby连接使用windows下sql server数据库代码实例

    Ruby连接使用windows下sql server数据库代码实例

    这篇文章主要介绍了Ruby连接使用windows下sql server数据库代码实例,本文直接给出实现代码,而且给出了两种实现和access数据库的实现代码,需要的朋友可以参考下
    2015-05-05
  • 使用C++来编写Ruby程序扩展的教程

    使用C++来编写Ruby程序扩展的教程

    这篇文章主要介绍了使用C++来编写Ruby程序扩展的教程,本文来自于IBM官方网站技术文档,需要的朋友可以参考下
    2015-04-04
  • Ruby中Hash的11个问题解答

    Ruby中Hash的11个问题解答

    这篇文章主要介绍了Ruby中Hash的11个问题解答,本文讲解了如何创建Hash、Hash的键是哪些类型、 如何给Hash赋默认的值等内容,需要的朋友可以参考下
    2015-01-01
  • 浅析Ruby中的DATA对象

    浅析Ruby中的DATA对象

    这篇文章主要介绍了Ruby中的DATA对象,包括对DATA.read方法的讲解等,需要的朋友可以参考下
    2015-05-05
  • Ruby中Rack中间件使用示例小结

    Ruby中Rack中间件使用示例小结

    Rack 中间件是 Rack 框架的一个核心概念,它可以在请求被传递给应用程序之前或之后对请求和响应进行处理,这篇文章主要介绍了Ruby中Rack中间件使用示例小结,需要的朋友可以参考下
    2024-04-04
  • Ruby中使用正则表达式的基础指引

    Ruby中使用正则表达式的基础指引

    这篇文章主要介绍了Ruby中使用正则表达式的基础指引,如今对正则表达式的支持已经成为各编程语言的标配属性,需要的朋友可以参考下
    2015-07-07
  • Ruby中调用执行shell命令的6种方法

    Ruby中调用执行shell命令的6种方法

    这篇文章主要介绍了Ruby中调用执行shell命令的6种方法,本文罗列了Ruby中可以调用和执行Linux系统Shell命令的6个方法,需要的朋友可以参考下
    2014-10-10
  • 深入分析Ruby 变量

    深入分析Ruby 变量

    这篇文章主要介绍了Ruby 变量的的相关资料,文中详细的讲解了几种变量的概念与用法,帮助大家更好的学习,感兴趣的朋友可以了解下
    2020-06-06

最新评论