top | item 9843220

(no title)

dmeb | 10 years ago

How is it that python is less amenable to functional programing? (Functional in the sense of referential transparency and immutable data-structures, rather than map-filter-fold). Through my limited exposure to python, I agree that immutability isn't idiomatic python, but I don't think there's anything stopping you from implementing those ideas in any language.

discuss

order

cycomachead|10 years ago

(A Berkeley student who went to Aki's sections -- Hi!)

One thing I've seen is that when you're first learning a langauge and pick up bad habits, they can be really hard to break. I've heard lots of students talk about the problem this causes when interviewing, especially early on. Additionally, for languages like Python, where there is loads of (often excellent) support online it can be confusing/frustrating to have a class teach one method and find answers which are mostly unrelated.

That said, I agree with what was said. Scheme is pretty amazing :)

kmill|10 years ago

The question you should have asked is "how is it that [idiomatic] python is less amenable to functional programming?", which you basically answer yourself. Otherwise, I can't see how amatsukawa implied Python itself was less amenable.

What is stopping you from implementing those ideas in Python during a first-semester course in CS is that you will not serve your students, as amatsukawa described.

dmeb|10 years ago

"The first 1/3 of CS61A in scheme had no mutation. That is almost impossible in Python to do..."

Pretty unambiguous to me. GP had a very thoughtful reply to be clear.

If the desire was to teach idiomatic python, that's totally legitimate. But the decision to whether or not teach FP concepts is in no way constrained by the choice of language.