3 ms·
I think numbers 2 and 4 are going to be the most valuable in introducing functional programming. I've been using Scala to learn functional programming, and the
by dget 17y ago
I think numbers 2 and 4 are going to be the most valuable in introducing functional programming. I've been using Scala to learn functional programming, and the hardest conceptual pieces for me have been been staying immutable and using recursion.
Another point I'd consider is "avoid side-effects".
- akkartik 17y ago"Avoid side-effects" is #1 IMO. Everything else stems from it.
- jacquesm 17y agoThe funny thing is after playing around with functional programming for a bit simply out of interest I've found that I've definitely changed to 'avoid side-effects' in my 'regular' programming as well, and it really helps to do that.
- loup-vaillant 17y agoAssignment is evil (most of the time): http://news.ycombinator.com/item?id=1117217 http://news.ycombinator.com/item?id=1117217 That's because it's relatively rarely needed: http://www.info.ucl.ac.be/~pvr/paradigms.html http://www.info.ucl.ac.be/~pvr/paradigms.html (I don't recall the HN submission.) The paper says that any feature in a programming language makes it more difficult to analyse it. First class functions are one of them. Named state (with assignment) is another. So, when such a feature isn't needed (for, say, modularity), the complexities it introduces are unnecessary.