Python becoming less Lisp-like

Thomas Bellman bellman at lysator.liu.se
Thu Mar 17 15:05:41 CET 2005


Jeff Shannon <jeffshannon at gmail.com> 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!



More information about the Python-list mailing list