The remark from Alan Perlis feels pretty accurate to me: You think you know when you can learn, are more sure when you can write, even more when you can teach, but certain when you can program.
I can read a book on a subject, and understand it to a degree. If I write down what I learned in my own words, then I must come to grips with the fact that I didn't understand everything; writing it down forces me to come to a better, more organized understanding. Teaching it to someone else means I must be able to explain for someone who does not necessarily have my own background, and who may stop me to ask questions. Programming the knowledge to a computer means that I must account for all questions; the knowledge must be completely and precisely defined.
I reckon very little knowledge has yet been adequately programmed into a computer, but many people stop at the first step, and never write or teach.
I can read a book on a subject, and understand it to a degree. If I write down what I learned in my own words, then I must come to grips with the fact that I didn't understand everything; writing it down forces me to come to a better, more organized understanding. Teaching it to someone else means I must be able to explain for someone who does not necessarily have my own background, and who may stop me to ask questions. Programming the knowledge to a computer means that I must account for all questions; the knowledge must be completely and precisely defined.
I reckon very little knowledge has yet been adequately programmed into a computer, but many people stop at the first step, and never write or teach.