I observe that programmers must be understood: If they can program, they can make the computer do what they want, at least some of the time.<p>If they are good at programming, they will do this quickly, and in a way that the computer does not have to do any (or many) unnecessary steps.<p>However I also observe a programmer must <i>understand</i>: If they can program, they can understand the computer, at least in some circumstances and at some level.<p>If they are good at programming, they will also be good at understanding others.<p>I believe mathematics teaches people to understand by helping them recognise <i>when they do not yet understand</i>.<p>To know when you have convinced someone, and yourself have been convinced, is clearly not exclusive to mathematics: Writers, artists, lawyers and lobbyists, all specifically develop these two kinds of understanding, and it is this line of thinking I am currently exploring.