Python對軟件開發人員很重要?
Fredrik Haard 最近發表了一篇“為什么 Python 對你如此重要”的文章,引起了開發者的熱烈討論。本文對其簡要編譯。
我相信 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 的觀點,編寫能夠很好契合客戶模型而不是一個框架的軟件這點很重要。而許多開發人員將時間都耗在了框架配置以及掩蓋它們的缺點上,而不是真正的開發。
你是如何看待的呢?