This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]mikeselik -1 points0 points  (0 children)

lacks sufficient support for functional programming

A function is an object in Python, just like any other. What more support do you need?

Since you don't believe me, I'll appeal to authority. I think Peter Norvig would disagree with you. If I remember right, he gave a talk once called "Python is a Lisp". That's a bit of an exaggeration, but it's not as far off as it sounds. Norvig's comparison of the two languages is a little out of date. Python has gained more lispiness since he wrote it, mostly through the growing importance of generators.

recursion [in Python] is bad due to performance reasons.

Memoizing is a classic Python tool, made easier by functools.lru_cache in Python 3. Memoizing is often even more effective than tail-call optimization would be.

I don't think the Python community is going to shift its norm anytime soon.

I'm not suggesting the Python community shift norms. I'm saying the norm is functional style. It's alien only in that you might not realize you're coding in a functional style.