Article of interest: Python pros/cons for the enterprise
Paul Rubin
http
Sat Feb 23 23:15:01 EST 2008
Jeff Schwab <jeff at schwabcenter.com> writes:
> def mkadder(n):
> return lambda x: x + n
>
> I have gotten the impression that this was somehow inferior in Python
> though, at least in terms of performance. Every time somebody uses
> lambda here, they seem to get a bunch "why are you using lambda?"
> responses. If I am grossly mistake, please just enlighten me.
There are some Python users who object to lambda on stylistic
grounds, and would rather that you say
def mkdadder(n):
def adder(x, n):
return x + n
return adder
Those same users tend to object to higher-order functions (preferring
listcomps or genexps). It seems to me though that Python is moving
more towards HOF-oriented styles because of the utility of HOF's over
iterators (look at itertools). That might make its learning curve
steeper for beginners; I don't have a good sense of this.
> I note from your other posts that you seem to have a strong Lisp
> bent. Lisp programmer and Smalltalk programmers stand out in the
> crowd. I first noted this when somebody found a while-loop offensive,
> on the grounds that recursion was somehow a more natural way to
> implement looping. It can take a while to convince somebody like that
> they different idioms work best in different languages.
Well, the saying is "to iterate is human; to recurse, divine" ;-).
Scheme has while-loops but they are just syntax sugar for recursion.
More information about the Python-list
mailing list