就语法来看,Python比Perl优美得多。Perl里面充满了像$!和$_这类的天书标记,初学的时候每读一段代码,就会碰到几个从来没见过的标记,然 后过两个星期,他们又以全新的面目出现在我面前。在我看来,这决不是什么紧凑,只是疯狂。不过同样的尼采,有的人看到的是伟大的哲学家,有的人看到的只是 一个疯子。
类库,Python的类库不如Perl的多。但是这很大程度上是因为Python没有一个像CPAN这样的类库集散地。其实Python的类库也是很全的,只是要找。SourceForge是一个,此外还有freshmeat。就我自己的经验,有些类库是无意中找到的。比方说,我看IBM的 developer network,看到一个twisted,安装的时候读了它的README,发现还有pycrypto,和pyopenssl类库。
如 果你觉得Python的开发效率还不及C++,那只能说你对Python还是太不熟悉,不过有C++的底子,用不了多久你就会闯过这一关的。其实 Python的文本处理能力一点都不比Perl逊色。它的re模块的思路同java的regex很像,而中文处理则要用到codecs。真正学懂之后,你 会觉得Python模块的逻辑性很强。不像Perl,虽然很方便,但是一个一个模块之间没有什么必然的联系。
关于Python的大型项目,最知名的就是Zope,然后有twisted(它既是一个类库,也是一个framework)。此外还有 gadfly,medusa(其实这两个是Zope的子项目,但是Perl没有这个重量级的产品吧),以及Chandler。这些都是纯Python的程 序。