2 ms·
Functional iteration is good for the same reason we use for loops over while loops, and while loops over goto: they are more constrained, more clearly communica
by nicoburns 4y ago
Functional iteration is good for the same reason we use for loops over while loops, and while loops over goto: they are more constrained, more clearly communicate intent, and are therefore easier to reason about.
- josephg 4y agoSure but it’s easy to go overboard with this stuff. Reduce (fold) especially can be pretty hard to read in hairy situations. My general rule is that if you need fewer lines of code to implement your logic with a simple for loop, you probably should.
- nicoburns 4y agoYeah, I agree with that. Especially reduce/fold, which I find is almost always better written as loop. Filter would be a good example of the opposite for me: almost always much clearer written functionally.
- jamincan 4y agoI find I frequently use a combination - use map/filter to setup an iterator, and then reduce it in a loop.