4 ms·
> _During the conference I was staying with my sister in Syracuse. I brought the paper home and said to her, "I can't understand these things that Lee and Yang
by peeters 6y ago
> _During the conference I was staying with my sister in Syracuse. I brought the paper home and said to her, "I can't understand these things that Lee and Yang are saying. It's all so complicated." "No," she' said, "what you mean is not that you can't understand it, but that you didn't invent it. You didn't figure it out your own way, from hearing the clue. What you should do is imagine you're a student again, and take this paper upstairs, read every line of it, and check the equations. Then you'll understand it very easily." I took her advice, and checked through the whole thing, and found it to be very obvious and simple._
Can't help but think that has some relevance to programming.
- crdrost 6y agoI mean it has some relevance to everything. I like to tell people that all learning is pain. It’s a sort of contrarianism that I picked up from Buddhism, I guess, where the first noble truth is that everything is pain. A more careful restatement: we learn abstractions to organize experience, and we learn them only to the extent that they relieve a painful messiness in our experience. So the failure of the Haskell monad tutorial, to take one particular instance, is the failure of “look this was so hard for me that I must make it easy for others.” Let’s give pain relief before the problem sets in. Only problem is, “no pain no gain”: you needed to experience that messiness and confusion before your brain could find a way to understand the underlying principles and organize it. So someone reads your tutorial and has even less of a clear idea because they now pretend to an abstract knowledge which they do not have any concrete experiences to tie it to. Caveat: this is how my brain works but I cannot be sure about others’.
- xsmasher 6y agoIt's why some people rewrite perfectly good code - because they don't understand the "theory" of the program unless they work through it for themselves. You can discourage this by writing code that doesn't just perform the required task, but also makes its theory clear to the reader.