為什么Quora選擇了Python?

jopen 8年前發布 | 16K 次閱讀 Python

Quora是國外知名的問答社區,性質與知乎類似。它的創始人Adam D'Angelo曾是非死book的員工,眾所周知,非死book大量地使用了PHP,而Adam在開發Quora時,使用的卻是Python。這到底是為什么呢?有人在Quora上提出了這個問題,而那個最佳答案自然就是來自Adam本人的了,對于那些猶豫要不要使用Python建站的開發者應該有一定的參考意義。

Adam在回答中很明確地表明了不希望使用PHP,提到非死book由于歷史遺留原因而不得不使用PHP,并不是因為PHP是目前最好的選擇。他從自己在非死book供職的那段經歷中,明白了一個道理:選擇哪個編程語言是非常重要的,變更的成本極其高昂。

為什么Quora選擇了Python?

Adam和另外一名創始人當時對Python語言都比較熟悉。但還是考察了C#、Java和Scala等其他語言。

C#

在Adam看來,C#當時是非常值得考慮的對象。作為編程語言來說,C#非常優秀,但是選擇了C#,就意味著要被捆綁在微軟的技術棧上。而他們心里更傾向于嘗試新的技術方案。另外,雖然微軟的SQL服務器也很好,但是考慮到他們要集成許多開源代碼,而這些代碼對于.NET平臺的支持較差。而且,當時大部分最有優秀的工程師都已經習慣于使用開源的產品。除此之外,他們還不愿意冒險使用Mono(C#/.NET的開源實現),因為不知道這個項目能持續多長時間,還存在一些性能問題。

Java和Scala

由于許多原因,Java程序比相同功能的Python代碼寫起來更加冗長、更加痛苦,而且很難與非Java的代碼進行交互。另外,雖然Scala并沒有Java那么差,但是也有許多Java和JVM的缺點。Scala語言當時也有點太新潮了,可能會帶來一些不必要的風險,因為誰也不知道10年后對這個語言的支持會如何。

Ocaml和Haskell

他們還考慮過OCaml和Haskell,但是二者都沒有足夠大的生態體系或是足夠優秀的標準庫,而且對可能要寫一些代碼的設計師、分析師來說太難了。

Python

Python最大的缺點是速度和類型檢查。經過比較和分析,兩位創始人認為Python對他們而言已經足夠快,而對性能有關鍵影響的部分都用C++寫了;對于類型檢查,他們最后編寫了非常完善的單元測試,確保不會出現類型錯誤。既然除去了這2個缺點,他們就很樂意選擇Python了。另外,通過過去5年的觀察,他們確信Python將繼續朝著對他們有利的方向發展。

Adam在回答中指出,Quora的員工目前對選擇的這門編程語言還是十分滿意的。雖然當初在選擇時有一些傾向性,但是公司的所有早期員工對于轉型到Python并沒有怨言,尤其是之前的PHP程序員。最后他還提到了當時Python語言的幾個好的發展趨勢。

  • Python 2.6發布后,Quora使用的大部分庫都對該版本兼容,因此很快就遷移到了新版本Python
  • Tornado Web開發框架正式開源,Quora則將實時更新網絡服務遷移到了Tornado上
  • PyPy發展迅速,最終應該可以正式用于生產,相信以后會大幅提高性能

回答的最后,Adam表示自己對Python語言和Python生態系統的未來充滿了信息。

查看Quora創始人的回答原文

END

歡迎大家掃描下方二維碼關注我的公眾號“編程派”,謝謝支持!

為什么Quora選擇了Python?

來自: http://www.codingpy.com/article/why-quora-chooses-python/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!