| >I also found that knowing something pretty much equals to being able to explain it to someone. That can't be right, because that would logically imply that there is literally nobody on Earth who knows functional programming -- including the writers of functional compilers -- since no one is able to easily explain it. (No, really, no one is.) But this is clearly not true: clearly, people do know functional programming (after all, how could they write a compiler for it otherwise, how could people program in it otherwise), despite their inability to explain it. Therefore, this proves that knowing something does not equal being able to explain it. Note that I do not go as far as to say it's inexplicable - sometime, somewhere, someone will explain it clearly and in a way that resonates with people that have not programmed in a functional paradigm, so that anyone immediately "gets" all aspects of it. Like a meme, that explanation will reverberate through the Internet, academia, language design, like a wildfire that enlightens everyone who meets it. But it has not happened. That does not mean "nobody knows functional programming." People know it, although they can't explain it. EDIT - this was downvoted, but I stand by it. My assertion is pretty easily falsifiable, but note that no reply does so with a link. Of course, I have not reviewed the entirety of the Internet so it is possible that I missed one. But I notice that nobody seems to be showing one. This is a challenge to do so, if you disagree with my example. |
It's true, though, that one will not necessarily, as you put it, 'immediately "get" all aspects of it'. Many things worth learning, this one included, require a bit more diligence. As Euclid famously explained, there is no royal road to functional programming.
[1] https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html