1. Powerful Python

Python是一种高级的面向对象的脚本编程语言。通过缩进来实现整洁的代码。然而,Perl也是一种解释型的脚本语言,但是它缺少像Python这样的整洁和面向对象的特性。另一方面,Perl提供了很好的趋近的面向对象,但是却缺少快速开发应用程序的工具。所以,Python来可以应用在各种各样的现实环境中,例如,NASA就是使用Python来准备模拟数据,并且连接各种各样的C/C++小程序。同样,Mailman,一个著名的邮件列表管理程序,也是使用Python开发的。另一方面,还有使用这个简单易学的语言作为编程入门课程的学院。

由于Python理解Zope来说至关重要,所以,你应该对它很熟悉。如果你正在找一些入门的文档,你可以从Python的主页http://www.python.org/doc/current/tut/tut.html开始Python之旅。那里也有各种各样的已经出版的书。

Every time I am being asked to give a presentation or write a survey-like article about Zope, I feel the need to tell a little bit about its history, not only because it is a classic Open-Source story, but also because it gives some background on why the software behaves the way it does. So it should definitely not be missing here.

Before Zope was born, Zope Corporation (which was originally named Digital Creations) de- veloped and distributed originally three separate products called Bobo, Principia and Aqueduct. Bobo was an object publisher written in Python, which allowed one to publish objects as pages on the web. It also served as object database and object request broker (ORB), converting URLs into object paths. Most of this base was implemented by Jim Fulton in 1996 after giving a frustrating Python CGI tutorial at the International Python Conference. Even though Bobo was licensed un- der some sort of "free" license, it was not totally Open-Source and Principia was the commercial big brother.

In 1998, Hadar Pedhazur, a well-known venture capitalist, convinced Digital Creations to open up their commercial products and publish them as Open Source under the name Zope. Zope stands for the "Z Object Publishing Environment". The first Zope release was 1.7 in December 1998. Paul Everitt, former CEO, and all the other people at Zope Corporation converted from a product company into a successful consultant firm. Alone the story how Zope Corporation went from a proprietary, product-based to a service-based company is very interesting, but is up to someone else to tell.

In the summer of 1999, Zope Corporation published version 2.0, which will be the base for the stable release until Zope 3.0 will outdate it in the next few years. Zope gained a lot of popularity with the 2.x series; it is now included in all major Linux distributions and many books have been written about it. Originally I was going to write this book on the Zope 2.x API, but with the beginning of the Zope 3.x development in late 2001, it seemed much more useful to do the documentation right this time and write an API book parallel to the development itself. In fact when these lines were originally written, there was no Zope Management Interface , and the initial security had just been recently implemented.