Python becoming less Lisp-like

Jeff Shannon jeffshannon at gmail.com
Wed Mar 16 16:12:08 EST 2005


news.sydney.pipenetworks.com wrote:

> More in relation to the original topic, why can't people just ignore 
> features they don't understand and may never use directly. 

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.

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.  In some cases that cost is well 
worth bearing (as is the case for metaclasses and descriptors, 
especially as these two examples are implementation artifacts that 
would exist whether they were exposed to programmers or not), but in 
other cases it won't be, so it's important to keep in mind that the 
cost exists.

Jeff Shannon




More information about the Python-list mailing list