就語(yǔ)法來(lái)看,Python比Perl優(yōu)美得多。Perl里面充滿了像$!和$_這類的天書標(biāo)記,初學(xué)的時(shí)候每讀一段代碼,就會(huì)碰到幾個(gè)從來(lái)沒(méi)見過(guò)的標(biāo)記,然 后過(guò)兩個(gè)星期,他們又以全新的面目出現(xiàn)在我面前。在我看來(lái),這決不是什么緊湊,只是瘋狂。不過(guò)同樣的尼采,有的人看到的是偉大的哲學(xué)家,有的人看到的只是 一個(gè)瘋子。
類庫(kù),Python的類庫(kù)不如Perl的多。但是這很大程度上是因?yàn)镻ython沒(méi)有一個(gè)像CPAN這樣的類庫(kù)集散地。其實(shí)Python的類庫(kù)也是很全的,只是要找。SourceForge是一個(gè),此外還有freshmeat。就我自己的經(jīng)驗(yàn),有些類庫(kù)是無(wú)意中找到的。比方說(shuō),我看IBM的 developer network,看到一個(gè)twisted,安裝的時(shí)候讀了它的README,發(fā)現(xiàn)還有pycrypto,和pyopenssl類庫(kù)。
如 果你覺得Python的開發(fā)效率還不及C++,那只能說(shuō)你對(duì)Python還是太不熟悉,不過(guò)有C++的底子,用不了多久你就會(huì)闖過(guò)這一關(guān)的。其實(shí) Python的文本處理能力一點(diǎn)都不比Perl遜色。它的re模塊的思路同java的regex很像,而中文處理則要用到codecs。真正學(xué)懂之后,你 會(huì)覺得Python模塊的邏輯性很強(qiáng)。不像Perl,雖然很方便,但是一個(gè)一個(gè)模塊之間沒(méi)有什么必然的聯(lián)系。
關(guān)于Python的大型項(xiàng)目,最知名的就是Zope,然后有twisted(它既是一個(gè)類庫(kù),也是一個(gè)framework)。此外還有 gadfly,medusa(其實(shí)這兩個(gè)是Zope的子項(xiàng)目,但是Perl沒(méi)有這個(gè)重量級(jí)的產(chǎn)品吧),以及Chandler。這些都是純Python的程 序。