編程語言數(shù)億種,如何選擇也是一個大問題,現(xiàn)在讓我們比較和分析一下python和ruby之間的異同,本文是武林技術(shù)頻道小編介紹的Ruby對比Python的優(yōu)勢和劣勢,希望對你有幫助!
客觀上的 Ruby 比 Python 的優(yōu)勢我想到的有這么幾個:
Block 應(yīng)該是語言層面上 Ruby 比 Python 更酷的地方,Python 的匿名函數(shù)(lambda function)制約太多,屬于雞肋(BFDL GvR 不認(rèn)可函數(shù)式編程的許多方面)。
OS X 上的話,Ruby 比 Python 最重要的優(yōu)勢可能是 MacRuby (http://www.macruby.org/) 的存在。我大膽猜測以后 MacRuby 將成為 Objective-C 之外(如果不是完全替代的話)的蘋果官方語言。MacRuby 除了能更加方便快捷的創(chuàng)建 Cocoa 應(yīng)用外,ruby block 使得利用 OS X 的 Grand Central Dispatch 變得容易,在以后的多核、混合核(CPU+GPU)應(yīng)用上非常重要。
劣勢:
Ruby 的硬傷之一在于性能。官方實現(xiàn) Ruby 1.9 比 CPython 遜色不少。另外 Python 擁有諸如 Numpy, Psyco, PyPy, Cython 等多種性能倍增的途徑,相比之下 Ruby 想要提高性能的途徑則非常有限。
Ruby 的硬傷之二在于第三方包。Ruby 傳入英語世界并大規(guī)模流行起來的時間不長,大部分的第三方包都和 Web 相關(guān),Web 領(lǐng)域外的包數(shù)量遠(yuǎn)遠(yuǎn)不及 Python。特別是在科研等方面的區(qū)別非常明顯,很多學(xué)科領(lǐng)域都有基于 Python 的成熟應(yīng)用,而幾乎找不到 Ruby 的相關(guān)包。這除了歷史淵源,也和 Python 更加簡潔的語法(很多用 Python 做研究的人不是計算機專業(yè)的)以及前述的性能倍增器(主要是 Numpy 和 Scipy)有密切的關(guān)系。
上述介紹的是Ruby對比Python的優(yōu)勢和劣勢,相信大家都閱讀完了,當(dāng)我們都了解清楚后,就能快速的抉擇開發(fā)的時候選擇哪種語言合適了。
新聞熱點
疑難解答
圖片精選