Tuesday, February 25, 2020

Donald Knuth -- My advice to young people


Donald Knuth –

If you think you're a really good programmer... read [Knuth's] Art of Computer Programming... You should definitely send me a resume if you can read the whole thing.
—Bill Gates


What advice would I give to a young person?

My advice to young people—
Don’t just believe  because something is trendy, it’s good. In fact, I’d probably go the other extreme. If I find too many people adopting a certain idea, I’d probably think it is wrong.

If my work has become too popular, I’d think I'd have to change.

This may seem ridiculous but, I see the other side of it too often where people go against their gut instinct and even though they aren’t terrible interested in it because they think that they’ll get more prestige and the community wants them to do it a certain way. But I think you get more prestige by doing good science than doing popular science. Because if you go with what you really think is important then, there is a higher chance that it really is important in the long run. And it is the long run that has the most benefit to the world.

Usually when I’m writing or publishing a book, it is different from what is done before. Because I feel like there is a need for such a book, not because there was somebody saying, “Please write such as book.” Following your own instincts it seems to me, is better than following the herd.  

My friend Peter Wegner told me in the 60’s that for "The Art of Computer Programming"-- I shouldn’t write the whole series, I should first write a reader’s digest then expand on parts afterwards. 

That would probably work for him—but I work in a completely different way. I have to see something to a point where I’ve surrounded it and totally understood it before I can comfortable write about it with any confidence. That’s the way I work. I don't want to  write about a high level thing unless I fully understood a low level thing. People have completely different strengths—I know.

I need firm pegs in which I can hang knowledge about a subject. If I went through life without any in-depth knowledge about any part, then it all seems to be flimsy. It doesn’t give me any satisfaction. The classic phrase is that a liberal education is to “try to learn everything about something and something about everything.” 

To me,  I like this idea about learning everything about an area— if you don’t know something really solid, then you never have enough confidence.  A lot of times I have to read through a lot of material in order to write just one sentence. 

I will choose words which will be more convincing than if I really don’t have the knowledge—it will somehow come out implicitly in the writing.

These are just some vague thoughts that I have when reflecting over some of the directions that distinguishes  what I’ve done from what I’ve seen other people do (in the subject of computer science).     



Why I don’t use email

It is best for me to be a bit of a hermit and have time for things which require a long attention span with no interruptions. I started email in 1975 and stopped in 1990. 15 years was a life time’s worth, because people would just shoot me questions as a random oracle. I would dutifully reply with well-constructed sentences and 4 hours later, when I am back on my research, I’ve lost a lot of time.
On the other hand, I’m impatient too, when I asked my secretary to send an email last week to a guy, I’m mad he hasn’t replied immediately. So I’m not being fair. I’m imposing on other people and not letting them be imposing on me. 

No comments:

Post a Comment