為什麼Python對程式設計師重要?

發表於2012-02-14

Fredrik Haard 發表了一篇「為什麼Python對你如此重要」的文章,引起了開發者的熱烈討論iteye 對其簡要編譯。

我相信Python對軟體開發人員很重要。現今已經誕生了不少的程式語言,它們都有各自不同的特性:強大者如Lisp,快速如C,運用廣泛如Java,論古怪則如Haskell。與這些語言不同,Python是一門比較中庸的程式語言,它將語言的很多特性進行了融合,迄今我還未有其他語言如Python這般協調。

Python知道開發人員閱讀程式碼比編寫它花的時間要多得多,因此將精力集中於引導開發者編寫易讀的程式碼。當然,Python也能寫出令人晦澀(obfuscated)的程式碼,但是寫程式碼最舒服的方式還是(假如你瞭解Python)保持適度精煉,即:程式碼總能明確反映你的意圖。這一點很重要。使用Python開發可謂輕而易舉。甚至包括許多庫,也能用Python完美編寫,保證其易讀性(你可以比較一下其他語言的框架實現,比如用Java編寫的Spring)。

同樣Python也意識到對開發人員而言開發速度的重要性。易讀而精煉的程式碼只是一部分,另一部分取決於強大的建構函式,可避免許多繁瑣重複的程式碼。此外,可維護性也是很重要的——程式碼行數(Line of Code,LoC)在很多度量結果都會中出現,或許沒什麼用,不過它至少說明了你需要審查多少程式碼,需要理解多少程式碼並從中發現問題。

此外,Fredrik Haard還提到了Python的另一個優勢——Toolmaking。

快速的軟體開發速度、簡練的技巧(其他語言開發人員也能輕鬆掌握Python基本技巧)、龐大的標準庫維繫了這一優勢。任何專案都會遭遇任務自動化任務情況,在我的經驗中,用Python寫的自動化任務比其他主流語言要快一個數量級——事實上,這也是我學習Python的原因。……

能夠輕鬆開發custom tool其實還包含了另一層意思,即開發和維護custom software也會很容易。這也是為什麼,在龐大的Django成為最著名的Python Web框架之後,還是有大量成功的小巧甚至微型框架存在的原因。當使用一門強大的程式語言,擁有大量標準及第三方庫的時候,你並不經常需要考慮妥協(trade-off),而這在使用許多現成的(off-the-shelf)大型框架時是必然會遭遇的。

根據Fredrik的觀點,編寫能夠很好契合客戶模型而不是一個框架的軟體這點很重要。而許多開發人員將時間都耗在了框架配置以及掩蓋它們的缺點上,而不是真正的開發。

你是如何看的呢?

相關文章