What is the difference between
console.log(myFunction())? The notion of passing a function as a parameter vs passing a result of a function invocation was very difficult to explain. We spent probably an hour just on that. I tried many analogies, and the one that clicked with my friend was the same analogy we use to teach the pointers: passing function as a parameter is like giving an address to a house, and its result is like having this house right in front of you. I don’t think it’s the closest and the most accurate metaphor, but it worked.
How to explain what
I was very delighted that everything we needed to make programs and see the results (btw, with a very fast feedback loop) were just a text editor and a browser. Open a file, reload it once in a while, and you have a very productive set up.