[Zope-Coders] RE: [Zope-Checkins] CVS: Zope/doc - INSTALL.txt:1.32

Guido van Rossum guido@python.org
Thu, 30 May 2002 12:19:26 -0400


I think it would be nice if the issues were captured in a Wiki like
Brian did for 2.1.  But since that doesn't exist (and I'm not going to
set it up myself):

> - We often have to use type() instead of isinstance() because we're 
> using ExtensionClass.

Are you saying ExtensionClass instances don't support isinstance?

> - You can't use new-style classes, metaclasses, and descriptors in 
> Python Scripts.  (You never could, because you can't declare a name that 
> starts with an underscore.  I know Jim doesn't like this rule, but it 
> avoids both current and *future* security issues.  And you don't have 
> access to the "object" builtin.)

Won't you have access to builtins like 'int' or 'str' that let you
create subclasses?

> - You can append "object" to the list of base classes of an 
> ExtensionClass subclass.  What does that do, I wonder?

When you do this to a classic class, the result is a new-style class.
I expect that when you mix an ExtensionClass and object as base
classes, you'll get a metaclass conflict error.

> - I don't know whether iterators are allowed, but they should be.

They are hard to avoid; all sorts of constructs now create iterators,
and there are methods like dict.iterkeys() or "for key in dict".  Or
maybe I misunderstand what you said.

> - The build process didn't work unless you had a Makefile.pre.in, which 
> isn't available anymore in Python 2.2.  I created a distutils-based 
> setup.py.

Matt Behrens is working on a replacement, although I'm not sure what
his enhancements are about.

--Guido van Rossum (home page: http://www.python.org/~guido/)