Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>Honestly I suspect that this stems from a perception particularly among people from a non-traditional CS background that "functional programming" is intimidating, whereas Python is seen as approachable in a get-shit-done kind of way for programming novices.

Just people from a "non-traditional CS background"? Most CS graduates today will say the same thing with regards to e.g. Python vs Scheme or CL.

>Python definitely did co-opt a lot of traditionally functional stuff, but did it in a way that obviates needing to know what a monad is, concern oneself with functional purity, etc.

If you hanged around HN pre 2010, you'd seen that FP was all about Lisp (and things like map, reduce, macros, first class functions, etc), and few gave a rat's arse about "monads" and "purity" -- it was only starting to emerge in general consciousness, not dominant as it is today in FP circles.



>: If you hanged around HN pre 2010, you'd seen that FP was all about Lisp (and things like map, reduce, macros, first class functions, etc), and few gave a rat's arse about "monads" and "purity" -- it was only starting to emerge in general consciousness, not dominant as it is today in FP circles.

My recollection was a bit different. I got interested in Haskell around 2007 or so. And pre-2010, I recall encountering several articles about that on HN, though obviously there were often articles about the Lisp family.


As someone that learned FP when Haskell did not exist and Miranda papers were still fresh, this mentality that only Haskell matters as FP notion really feels odd.


I personally feel like Haskell makes a good reference implementation for functional programming. Whenever someone is explaining how to do some interesting FP thing in, say, JavaScript, I usually just ignore them and go read about how the same thing is done in Haskell, which is usually clearer and less burdened with the complexity of getting a mutable, proceedural, eager language to behave like an immutable, lazy, functional one.


If you think that immutability and laziness are inherently part of functional, then you're part of the new-school-is-the-only-school problem.

I mean, I'm not saying that immutability and laziness aren't interesting. But FP has a long long history, most of it's not lazy, and immutability is nowhere near universal.


Completely agree. Anyone interested in functional programming should learn Haskell for this reason alone. Skip the blog post that falsely claims a "functor is a box" or a "monad is a burrito" and go read the original papers.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: