It makes me sad how people think imperative programming is a "natural" way to think. I have known lots of people who resist using functional languages for serious projects, marginalizing the "functional" way of thinking as though thinking in terms of "labeled boxes with data in them" (Von Neumann architecture) is some sort of more normal way to think.
Before computers people modeled the real world using a Haskell-like pseudocode called "mathematics".
Before computers people modeled the real world using a Haskell-like pseudocode called "mathematics".