Uwe Mayer wrote: > con: If you are planning larger applications (for a reasonable value of > "large") you have to discipline yourself to write well structured code.
This is definitely true, no matter the language you use. > Then you will want to specify interfaces, If you're really interested in interfaces you might want to check out Zope3. Even if you don't want to use the "web" parts, the component architecture parts (interfaces, adapters, etc.) might be interesting to you. In a related vein is PEAK (http://peak.telecommunity.com/). It also has some related ideas about interfaces, components, adapters, etc. > accessor functions with different read /write access, ... I don't quite follow here. Are you talking about using a method like "thing.getX" instead of just accessing the attribute directly like "thing.x"? If so, that kind of up-front design isn't necessary in Python. > Unless you have designed the software interactions completely bevorehand > (which never works out) this is the only way to incorporate changes without > refactoring your source all the time. Refactoring *is* the way you handle not being able to "[design] the software interactions completely bevorehand". -- Benji York -- http://mail.python.org/mailman/listinfo/python-list