Python编程语言在目前的使用中有很多语言都会和他有多融合。其中Zope和Python编程语言如影随形。下面我们就来看看Python编程语言合Zope之间的不解之缘。
十年过去了,这个趋势还未见停下来的意思。不管最新的关键字如何层出不穷—比如RESTful web编程、标准化接口,可插入组件或实用的受限执行环境(practical restricted-execution environments),Zope很久以来一直在静悄悄地引路,不负众望地走在所有人前面。不仅仅作为技术概念,还引领和服务于用户。
然而奇怪的是,在眼下Python编程语言开发中,Zope所扮演的角色在Python开发者中间的知名度和认可度都不很高。经常的情形是在Python社区中一些新的、被过分吹捧的开发技术—特别是在web应用程序和对象安全平台方面—是一些Zope已经做了很多年的东西。#t#
Python编程语言社区中的这种奇怪盲区让我困惑不已。即使是当我告诉人们Zope早已完成了他们所一直忙活的东西,我所得到的反应通常是一副茫然的面孔,或者压根没反应。这就好像在其他一些人把它们重做出来之前Zope的创新并不存在一样。事实上,这种现象让我不由自编了一句谚语:
那些不研究Zope的人将注定去做重复发明。(Those who do not study Zope, are condemned to reinvent it.)
实际上,如果你没有计划去使用Zope,那关系还不大。坦白说我也有些年没用Zope了。但我从Zope那里得到的教训是,我得经常用它。研究Zope—特别是Zope3—毫无疑问将使你成为一名优秀的程序员。
当然,“优秀的程序员”并没有回答“如何才能优秀?擅长哪一方面?”的问题。
Zope公司(最初是Digital Creations, LLC)创造了Zope,利用它可以更高效地处理合约事务,可以让他们为客户保持一个不断壮大的包含可复用解决方案的工具包,以降低这些应用程序的开发和维护成本。其目的是实现“编写一次,广泛使用(write once, use many)”:一个经济高效的增效器。
如果这就是你的事业轨迹,你能够从研究如何使用Zope来完成这个之中受益,但仅此而已,无论你是否是实际出于这个目的使用Zope。
如果你在为Python编程语言开发任何一项全新的或者划时代的技术,你会从这般扪心自问中受益:“Zope是不是已经有了或者与之类似的东西?要是没有,Zope会如何使用它?”当我开发Python Eggs, setuptools甚至是WSGI(Python网络服务器网关接口,Python Web Server Gateway Interface)时,我都这样问过自己。这些项目的成功都是我自问WWZD:Zope(利用这个思想)会怎样做?的直接写照(What Would Zope Do (with this idea)?)。
那是因为对Zope有好处的东西通常对Python编程语言也有好处。这不是从语言的角度说得—Python的“慈善的独裁者(Benevolent Dictator)”和“Zope教皇(Zope Pope)”在语言应如何变革这个问题上经常意见迥然。
我的意思是,使Zope成为一个优秀的平台的那些工具也会使Python编程语言成为一个优秀的平台。而且你若能认真研究Zope,你大概会慢慢理解这其中的缘故。
特别是当有了新点子的时候,也许(注意只是也许)你发现你开始有一点走在其他程序员的前面了…但希望不要太超前,那样他们也将装做你不存在一样!