Python對(duì)軟件開(kāi)發(fā)人員很重要?
Fredrik Haard最近發(fā)表了一篇“為什么Python對(duì)你如此重要”的文章,引起了開(kāi)發(fā)者的熱烈討論。本文對(duì)其簡(jiǎn)要編譯。
引用:
我相信Python對(duì)軟件開(kāi)發(fā)人員很重要?,F(xiàn)今已經(jīng)誕生了不少的編程語(yǔ)言,它們都有各自不同的特性:強(qiáng)大者如Lisp,快速如C,運(yùn)用廣泛如Java,論古怪則如Haskell。與這些語(yǔ)言不同,Python是一門(mén)比較中庸的編程語(yǔ)言,它將語(yǔ)言的很多特性進(jìn)行了融合,迄今我還未有其他語(yǔ)言如Python這般協(xié)調(diào)。 Python知道開(kāi)發(fā)人員閱讀代碼比編寫(xiě)它花的時(shí)間要多得多,因此將精力集中于引導(dǎo)開(kāi)發(fā)者編寫(xiě)易讀的代碼。當(dāng)然,Python也能寫(xiě)出令人晦澀(obfuscated)的代碼,但是寫(xiě)代碼最舒服的方式還是(假如你了解Python)保持適度精煉,即:代碼總能明確反映你的意圖。這一點(diǎn)很重要。使用Python開(kāi)發(fā)可謂輕而易舉。甚至包括許多庫(kù),也能用Python完美編寫(xiě),保證其易讀性(你可以比較一下其他語(yǔ)言的框架實(shí)現(xiàn),比如用Java編寫(xiě)的Spring)。 同樣Python也意識(shí)到對(duì)開(kāi)發(fā)人員而言開(kāi)發(fā)速度的重要性。易讀而精煉的代碼只是一部分,另一部分取決于強(qiáng)大的構(gòu)造函數(shù),可避免許多繁瑣重復(fù)的代碼。此外,可維護(hù)性也是很重要的——代碼行數(shù)(Line of Code,LoC)在很多度量結(jié)果都會(huì)中出現(xiàn),或許沒(méi)什么用,不過(guò)它至少說(shuō)明了你需要審查多少代碼,需要理解多少代碼并從中發(fā)現(xiàn)問(wèn)題。 |
此外,F(xiàn)redrik Haard還提到了Python的另一個(gè)優(yōu)勢(shì)——Toolmaking。
引用:
快速的軟件開(kāi)發(fā)速度、簡(jiǎn)練的技巧(其他語(yǔ)言開(kāi)發(fā)人員也能輕松掌握Python基本技巧)、龐大的標(biāo)準(zhǔn)庫(kù)維系了這一優(yōu)勢(shì)。任何項(xiàng)目都會(huì)遭遇任務(wù)自動(dòng)化任務(wù)情況,在我的經(jīng)驗(yàn)中,用Python寫(xiě)的自動(dòng)化任務(wù)比其他主流語(yǔ)言要快一個(gè)數(shù)量級(jí)——事實(shí)上,這也是我學(xué)習(xí)Python的原因。…… 能夠輕松開(kāi)發(fā)custom tool其實(shí)還包含了另一層意思,即開(kāi)發(fā)和維護(hù)custom software也會(huì)很容易。這也是為什么,在龐大的Django成為最著名的Python Web框架之后,還是有大量成功的小巧甚至微型框架存在的原因。當(dāng)使用一門(mén)強(qiáng)大的編程語(yǔ)言,擁有大量標(biāo)準(zhǔn)及第三方庫(kù)的時(shí)候,你并不經(jīng)常需要考慮妥協(xié)(trade-off),而這在使用許多現(xiàn)成的(off-the-shelf)大型框架時(shí)是必然會(huì)遭遇的。 |
根據(jù)Fredrik的觀點(diǎn),編寫(xiě)能夠很好契合客戶(hù)模型而不是一個(gè)框架的軟件這點(diǎn)很重要。而許多開(kāi)發(fā)人員將時(shí)間都耗在了框架配置以及掩蓋它們的缺點(diǎn)上,而不是真正的開(kāi)發(fā)。
你是如何看待的呢?
原文鏈接:http://www.iteye.com/news/24222
【編輯推薦】