Jeff Shannon <[EMAIL PROTECTED]> wrote: > Because they may get stuck maintaining code that uses those features. > Now, I'm generally in agreement with you -- in general, Python > features that aren't straightforward (e.g. metaclasses) are clearly > advanced features and aren't likely to be in everyday code. I'm okay > with just knowing that metaclasses exist, and having a vague idea of > how one would use them.
> But the more features that some people ignore, the more that they tend > to write in a customized dialect that's a subset of the full language. > And the more people write code in their own personal (or group) > dialect, the more fragmented the worldwide codebase becomes, and the > harder it is to understand code that doesn't come from the circle of > developers who you're directly familiar with. In any non-trivial program, there will be a "small language", consisting of functions, classes and data structures, that one need to learn and understand in order to maintain the program. If the implementation language (C, C++, Python, Ada, Pike, ...) is small with few features, that set of functions et.c will be larger, and you must thus take time to learn that instead. And that knowledge will *certainly* not help you with the next program you have to maintain; learning of (say) metaclasses on the other hand may very well do help you understand the next program. One may also note that features in the programming language are likely to be better documented than the "small language" internal to a large program, and thus easier to learn. > It's true that a given programmer doesn't need to understand every > feature of the language, but it's not really fair to say "ignore it > and it won't affect you" -- there's still a cost associated with such > features that can't be ignored away. There is a "local" cost with it, for learning Python, but I'm not sure there really is a "global" cost, when you look at the entire situation. -- Thomas Bellman, Lysator Computer Club, Linköping University, Sweden "Too much of a good thing is WONDERFUL." ! bellman @ lysator.liu.se -- Mae West ! Make Love -- Nicht Wahr! -- http://mail.python.org/mailman/listinfo/python-list