Torsten Bronger <[EMAIL PROTECTED]> wrote: > I have exactly the same impression, but for me it's the reason why I > feel uncomfortable with them. For example, I fear that a skilled > package writer could create a module with surprising behaviour by > using the magic of these constructs.
If the behaviour is surprising, then the package writer wasn't very skilled... A very large part of the skill needed to write a module, is knowing how to design its interface so it becomes easy to use, intuitive, and non-surprising. > I don't know Python well > enough to get more specific, but flexibility almost always make > confusing situations for non-hackers possible. On the other hand, *in*flexibility doesn't give any guarantee against confusing situations. At least not as long as there is enough flexibility in the language to actually allow you to do anything more advanced than "Hello World". And inflexibility will always make some situations horribly daunting to get out of. Powerful constructs like these can, in some cases, enable a skilled package writer to design an API that reduces the amount of boiler plate code needed for using the package. If some authors write bad books, do you blame the English language for allowing them to write such books, or do you blame the writers for using English in a bad way? -- Thomas Bellman, Lysator Computer Club, Linköping University, Sweden "We don't understand the software, and ! bellman @ lysator.liu.se sometimes we don't understand the hardware, ! but we can *see* the blinking lights!" ! Make Love -- Nicht Wahr! -- http://mail.python.org/mailman/listinfo/python-list