Path: csiph.com!usenet.pasdenom.info!aioe.org!news.stack.nl!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.002 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'attribute': 0.05; 'preferably': 0.05; 'implements': 0.07; 'handler.': 0.09; 'namespace': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'rules.': 0.09; 'cases': 0.15; 'adapter': 0.16; 'clark': 0.16; 'guess.': 0.16; 'range.': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'subscribing': 0.16; 'tagged': 0.16; 'ugly.': 0.16; 'zope,': 0.16; 'alex': 0.17; '>>>': 0.18; 'import': 0.21; 'explicit': 0.22; 'implicit': 0.22; 'errors': 0.23; 'idea': 0.24; 'header:User-Agent:1': 0.26; 'extend': 0.26; 'implemented': 0.27; 'header:X-Complaints-To:1': 0.28; 'objects': 0.29; 'query': 0.30; 'could': 0.32; 'zero': 0.33; 'to:addr:python- list': 0.33; 'there': 0.35; 'received:org': 0.36; 'should': 0.36; 'bad': 0.37; 'registered': 0.38; 'to:addr:python.org': 0.39; 'header:Received:5': 0.40; 'easy': 0.60; "you've": 0.61; 'subject:, ': 0.61; 'first': 0.61; 'received:96': 0.62; 'more': 0.63; 'great': 0.64; 'subject:The': 0.71; 'obvious': 0.71; 'special': 0.73; 'received:fios.verizon.net': 0.84; 'silence.': 0.84; 'zen': 0.84; 'refuse': 0.93 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Alex Clark Subject: The Zen of Zope, by Alex Clark Date: Sun, 9 Dec 2012 20:13:43 -0500 Organization: ACLARK.NET, LLC Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Gmane-NNTP-Posting-Host: pool-96-240-142-112.washdc.fios.verizon.net User-Agent: Unison/2.1.10 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 32 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1355102038 news.xs4all.nl 6911 [2001:888:2000:d::a6]:42270 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:34533 >>> import other The Zen of Zope, by Alex Clark Beautiful is an attribute of ugly. Explicit is implemented by implicit. Simple is provided by complex. Complex is directly provided by complicated. Flat only implements nested. Sparse has tagged value dense. Readability count is not in range. Special cases could not adapt the rules. Practicality implements purity. Errors should never require a specification that doesn’t extend the specification of silence. Unless explicit is a multi-adapter. In subscribing to ambiguity, return all the objects that refuse the temptation to guess. There should be none-- and preferably only zero --output from a handler. Although that way may not be obvious at first unless you've registered an adapter hook. Now is verified by never. Although never is not implemented by *right* now. If the implementation is hard to explain, it queries the bad idea utility. If the implementation is easy to explain, it may query the good idea utility. Implicit namespace packages are one honking great idea -- let's do more of those! -- Alex Clark · https://www.gittip.com/aclark4life/