Ruby對比Python的優勢和劣勢_ruby專題

來源:互聯網
上載者:User

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)有密切的關係。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.