Ruby对比Python的优势和劣势
编程语言数亿种,如何选择也是一个大问题,现在让我们比较和分析一下python和ruby之间的异同,本文是爱站技术频道小编介绍的Ruby对比Python的优势和劣势,希望对你有帮助!
客观上的 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对比Python的优势和劣势,相信大家都阅读完了,当我们都了解清楚后,就能快速的抉择开发的时候选择哪种语言合适了。