Hi W,

On Aug 3, 2010, at 4:38 PM, wheres pythonmonks wrote:
I think that the crux of the matter is in points #3,  #4, and #5 that
you raised:
I think #2 is important too: a program is supposed to do what you  
expect, and I don't expect instantiation of an ABC.
On #3:  Not clear that all possible specializations warrant
factorization into a class.  Indeed, this may result in "premature
abstraction" -- and make the code less clear.  Also, it will freeze in
the base classes, making future refactoring a headache.
I agree (for small specializations only).

On #4:  Unless I misunderstood something, there is nothing in python
that ensures that a class definition is localized.  So, putting
definitions in classes, does not guarantee that the definition is at a
single location in the code.
That's right, but with classes it is possible (and encouraged) to keep  
things in a single location. The other option necessarily puts things  
where I don't expect them.
5) why would you want a thinner class hierarchy?

The yo-yo anti-patten:
http://en.wikipedia.org/wiki/Yo-yo_problem

I have a pretty strong preference for using a small number of useful
objects, instead of having code littered with objects strewn across
the namespace.
I see the point, but I would like to remark that if a program does  
what you expect, you won't need to understand the whole inheritance  
graph.
Maybe there is a Python ABC tutorial out there that can enlighten me?
http://docs.python.org/library/abc.html
http://www.doughellmann.com/PyMOTW/abc/

Cheers, Roald

PS: most people in this list prefer not top posting

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to