News for hackers. Stuff that matters.
Re:What if you couldn’t program with loops? by agumonkey on Monday July 15, 2019 @02:20PM (#20443607)
What I like about applicative/functional is that it linearize the thinking process.

- function arguments represent what imperative programming means as state

- each recursive call is a step in the walk toward convergence

- every step has to reduce[0] something in the arguments

- every step is clearly identified in the recursive call

I don't think it is "better" than mutable state + while () { }, but it helps my brain massively.

It may also be linked with old research (Turing and others) about expressing program space as a N-dim vector that has to reach a point in this N-dim space.

Some people might be able to make sense of complex imperative code, old array/string algorithms are a bit like that, maybe Knuth has some dedicated brain area I don't know of. But all in all, starting with functional may be a better pedagogical space.

[0] see htdp, sicp, friedman the <adj> <verb>er books

There are no comments on this comment yet.