【问】 I’ve got to ask this question. You are a gentleman of some stature within the community and you sort of close your eyes and imagine for a moment you are at a conference and a young programmer comes up to you and says “Mr. Cunningham I love your work, I am such a fan and asks that crucial question, “What can you tell me to make me a great programmer?” What advise do you have for this guy, what can you tell him, what things does he need to know, what things does he have to look for?
【答】 That is an interesting question because there are so many possible answers and if I think for a moment there is probably a lot that he’s going to learn automatically. One of the hardest things to pick up I think, is that the way to grab hold of the really good ideas. There are a lot of ideas, but really good ideas are hard to snatch because they look so humble when you first see them. You expect the solution to be beautifully complex and a good solution is pretty plain until you see how that plainness plays in a complicated way to make something better than you could get in your head all at once.
【问】 That old comment about most scientific discoveries do not begin with “Eureka!”, but “That’s funny.”
【答】 Exactly, and it takes a sense to, [or] a way to develop that [such that] every time you do see something that works out that is kind of surprising that it worked out, you must take the time to find out what the history of that idea is. If you could talk to the person who came up with it or even when it happens to yourself, go back and think, “What did that look like when that idea first surfaced”, because I think there are a lot of really good ideas but we just walk right on by because they were not what we were expecting; they just looked too simple.