4 ms·
As someone who has been in the functional programming world for a long time I don't think you can really understand it without some time using it. Beginners ten
by noelwelsh 7y ago
As someone who has been in the functional programming world for a long time I don't think you can really understand it without some time using it. Beginners tend to focus on language features (immutability, first class functions, map instead of loop, etc.) but it's really a completely different approach to programming than imperative programming. A paradigm shift, in the original sense of the word.
It is also difficult to talk about concepts without some notation, and a notation is exactly what a programming provides (as well as other things)!
That said, several people have attempted to write about it. John Hughes' "Why Functional Programming Matters" is one that often comes up. There are a million versions of this floating around the web. Here is one: https://www.youtube.com/watch?v=bL-CcjKW1lw https://www.youtube.com/watch?v=bL-CcjKW1lw
I gave a talk on this topic, with examples in Scala:
https://www.youtube.com/watch?v=bL-CcjKW1lw https://www.youtube.com/watch?v=bL-CcjKW1lw
This paper is about the idea of paradigm shifts in programming, and is beautiful and profound, though not about functional programming: https://www.dreamsongs.com/Files/Incommensurability.pdf https://www.dreamsongs.com/Files/Incommensurability.pdf