When I learned Prolog (in the glory days before the 2nd AI winter), I read various tutorials and just didn’t “get it”. Then one day, the sun shone, and it all made sense. I wonder how typical my experience is? (It probably helps to have not learned a conventional programming language; and it’s not clear whether knowing SQL helps or hinders.) One suggestion: “make” is like Prolog without any arguments, and people don’t seem to have trouble understanding how “make” works, even with alternative rules.
[My only other “ah-ha” moment with programming was when I took a logic course, which contained my ways of proving Gödel’s Incompleteness Theorem (plus all the set theory that leads up to it). One day, I understood and felt enlightened … but the feeling faded after an hour or so.]