如果 Python「不夠能擴充」,那 Quora 為什麼還是用它?
Quora 的共同創辦人 Adam D’Angelo 曾在「Why did Quora choose Python for its development?」這個問題下提到,他們選用 Python 的原因,簡單來說大致如下:
-
看不順眼 Microsoft
他們就是不想用 C#,與其說是理性選擇,不如說是「個人偏好」也是一大因素。 -
Java 雖然強大,但開發效率較低
Java 寫起來繁瑣一些,也不太好跟其它非 Java 系統整合。同時新創公司講求快速迭代,用 Java 可能會稍嫌「笨重」。 -
OCaml 和 Haskell 雖然炫,可是太「高冷」
這兩種函數式語言門檻高、庫資源有限,寫起來很酷但速度和人力成本都不太合新創實際需求。 -
已經很熟 Python,缺點用 C++ 補
雖然 Python 缺乏強型別,處理關鍵高效能需求時,就以 C++ 來負責後端核心。這種「前端靈活、後端加速」的做法,效果不錯。
Adam 也特別強調,重點是:「伺服器運算成本遠低於開發者的人力成本」。 用 Python、PHP、Perl、Ruby 等直譯型語言,開發速度大約是 Java、C、C++ 等編譯型語言的兩倍。想像一下,若有 10 位開發者,每人年薪 10 萬美元,那一年下來的人力成本就要 100 萬美元。如果改用 Java,或許就要多請 10 個人,等於又增加 100 萬美元,可是省下的伺服器費用可能只有 5 萬到 10 萬美元,根本不划算嘛!
因此,Quora 團隊選擇了 Python 做主要開發,既熟悉又能快速推出產品,搶得市場先機。等到網站上線後,針對已定義好的功能再來進行優化,像是用 C++ 取代 Python 在後端的部分處理器,就能達到效能上的提升。
這對很多新創來說是個好榜樣:前端使用開發時間短、靈活度高的腳本語言,再結合後端 C++ 來保證速度與效能,雙管齊下。重點是先把東西做出來、測市場需求,再來針對性能瓶頸做局部加速。
事實證明,Python「不夠能擴充」的刻板印象,並不一定阻礙新創的成功。在初期階段,更高的研發效率與快速迭代往往比省伺服器成本重要得多。只要知道哪邊該「軟」哪邊該「硬」,就能靈活運用 Python 來滿足快速上市及後續優化的各種需求!
參考資料與進一步閱讀
-
Quora 原文:
Why did Quora choose Python for its development?
Adam D’Angelo 在 Quora 的回覆,解釋 Quora 選擇 Python 的考量。 -
官方 Python 文件:
Python 3 Documentation
深入了解 Python 的標準函式庫、模組和開發範例。 -
Python 面試必備工具-5大程式庫完整指南:
面試的重點往往不在於你是否能完成這個任務
我們的專文逐一介紹這些程式庫的用途和亮點,並用實際範例幫助你快速上手,提升你的面試表現!