2 ms·
I feel like Lisp didn't win out for the same reason that HP calculators never won out: people don't like the mental burden of flipping their calculations around
by zackmorris 8y ago
I feel like Lisp didn't win out for the same reason that HP calculators never won out: people don't like the mental burden of flipping their calculations around by hand. Which is another way of saying that functional programming (FP) doesn't follow any of the imperative programming (IP) conventions they're used to (by design, generally).
Everything about FP is conceptually good except for the human element. I find other people's FP examples to be exceptionally hard to read. But in fairness not as hard as object-oriented programming (OOP) IP languages like Ruby or Angular. I picture them as two extremes: abstract formalism with FP on the one hand and syntactic sugar/convention/patterns with IP/OOP on the other. I'm classically trained so to speak, so I can make the mental leap to FP when I need to. But I continuously have trouble with IP languages because for the most part I don't understand what problem they're trying to solve.
I think Elixir, Clojure and F# are making inroads on the FP<->IP/OOP front but they still aren't easy enough for mainstream adoption IMHO. Haskell, Scala etc are too fringe and have probably already reached saturation.
Also I do agree about the ignorance aspect. Most programmers I've met don't understand the difference between simple and easy, as examined in depth by Rich Hickey:
https://www.youtube.com/watch?v=34_L7t7fD_U https://www.youtube.com/watch?v=34_L7t7fD_U