Phillip J. Eby wrote:
> If you don't count in-house "enterprise" operations and shops like 
> Google, Yahoo, et al., the development of Zope is certainly one of 
> the largest (if not the very largest) Python project.  It's 
> understandable that LBYL is desirable in that environment.  On the 
> other hand, such large projects in Python are pretty darn rare.

By way of clarification: Even in the large Zope 3 projects I work on 
(which obviously use zope.interface), we virtually never use interfaces 
for LBYL (just as Zope 3 itself rarely does).

Instead, we either assume something implements a (little "i") interface 
and act as such (never invoking the interface machinery, the way most 
people write Python), or we use adaptation to ask for something that 
implements a particular (big "I") Interface (but even there no 
verification is done).

My point is, people generally use zope.interface Interfaces as 
documentation and names for particular behavior/API, not as an LBYL 
enforcement mechanism.
-- 
Benji York
http://benjiyork.com
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to