Lisp mentality vs. Python mentality

Dan Sommers somm1105 at bellsouth.net
Mon Apr 27 01:14:35 CEST 2009


On Sun, 26 Apr 2009 12:30:40 +0300, Ciprian Dorin, Craciun wrote:

> On Sun, Apr 26, 2009 at 12:08 PM, "Martin v. Löwis" <martin at v.loewis.de>
> wrote:

>> No, the problem is that you are using way too many functions, that do
>> too little. The problem with that is then that you have to give names
>> to all the functions, which then find people difficult to read because
>> they don't just need to the code in question itself; they also need to
>> dozen of helper functions that it relies on.

>> Or you could avoid introducing the function altogether, to make it more
>> readable. This makes it more pythonic, also: readability counts (from
>> the Zen of Python).

>     So if I'm reading right you are saying something in the lines:
> "using too many functions is bad just because it is unreadable and
> non-understandable to average (could I say mediocre?) programmers"...
> Unfortunately I thought that delegating responsibilities to other
> functions, and thus writing small chunks of code, is what good software
> engineering is... Well my bad...

Also from the Zen:  flat is better than nested.  One of the aspects of 
flatter call trees and object hierarchies is that I hit the bottom 
(language features or the standard library) sooner, and I "should" 
already have the language and its standard library in my brain.  That 
said, I also tend to break my programs into layers, but I do try to make 
each layer as thin as possible (but no thinner).

>     Although you have a point -- that of being hard to comprehend by
> average programmers -- but this doesn't mean it is a wrong (as in ugly)
> solution... Also, with respects, but the "pythonic" solution involving
> generators (or iterators) and "zip" or "all" function -- although I
> appreciate it as it comes close to FP -- is not what I would call
> readable and understandable by non-guru programmers...

I finally got it through my thick head that I've been *doing* functional 
programming with [*nix] shells and pipes for years, well back into my non-
guru days.

Dan

-- 
Dan Sommers                                   A death spiral goes clock-
<http://www.tombstonezero.net/dan/>           wise north of the equator.
Atoms are not things. -- Werner Heisenberg              -- Dilbert's PHB




More information about the Python-list mailing list