Master Gardner used computer programs throughout his life to tell the story of computer programs.

Editor’s note: This article comes from the WeChat public account ” heart “(ID: almosthuman2014) , of: Susan D’Agostino, participation: Panda, Turre, Posted with permission.

 

For computer science pioneer Donald Knuth, good programming is equivalent to good expression. The 82-year-old Mr. Gardner still insists on writing The Art of Computer Programming, a masterpiece of computer science that has been going on for decades. Recently, “Quantum Magazine” interviewed this computer scientist who tirelessly tells the story of computer science, and also let us see the other side of this pioneer of computer science.

from QuantaMagazine

Goldner’s father used computer programs to tell the stories of computer programs throughout his life. Source: Vivian Cromwell

A candy name phrase contest made Gardner recognize his talents

Goldner is a computer scientist. He is almost as old as he was born in the field. In the years when computer programming was just born in the middle of the last century, a local candy company called Ziegler held a competition, which allowed Gardner, who was only 13 years old, to see his talents. This game is to let the children determine how many words can be composed of the letters of a candy name (ie Giant Bar). This is a clearly defined question, which is exactly the type of question he likes.

“I have an obsessive-compulsive disorder and it makesI became interested in the discrete problem of numbers. And, I also love to delve into a lot of information. Said Gardner.

In the basement of his home, Gardner systematically paged through his 2000-page thick Funk & Wagnalls uncut dictionary. He even persuaded his parents to believe that he was sick, so he didn’t go to school for two weeks, but put his time on this issue. Based on the letters of this candy name, he marked the alphabetic strings that might be in front of words such as Aa, Ab, and Ba, and used them as index cards. After that, he began to search the entries in the dictionary that met the conditions. He found that some parts of the dictionary can be skipped completely, such as the part of the word beginning with the letter C or BU.

The tournament official expects that the final winner will find approximately 2000 words, and Gardner has found more than 4,700. He won the award for his face and chocolate on TV for his class.

After that, he will continue to win more “chocolate” for himself, including the first ACM Grace Murray Hopper Award and the National Medal of Science and Turing Award in 1974 .

Working tirelessly to compile the masterpiece of computer science “The Art of Computer Programming”

Gaudner even incorporated his love of discrete digital problems and large amounts of information into his emperor’s masterpiece “The Art of Computer Programming”. This set of books has been written since he was a graduate student in 1962, but It has not been completed yet.

He published the first volume of the book in 1968, and the volume has been printed in 27 editions. Volumes 2 and 3 were published in 1969 and 1973, respectively. At that time he was already a professor of computer science at Stanford University, but he also worried that the teaching work would prevent him from writing this set of books. So he took leave in 1990 and then retired in 1993, intending to spend the rest of his life completing this seven-volume masterpiece.

Now that he is 82 years old, he is still working hard to write part B of volume 4, and he expects this volume to have at least 6 parts from A to F.

Gardner is working hard to write “Art of Computer Programming” Volume 4, Part B. He expects that there will be at least four parts in this volume, and the entire book will have three volumes of 5, 6, and 7 to be completed. Photo courtesy of Gardner ’s wife Jill Knuth).

Record of interview with Gartner: a different Gardner master

Gaudner was interviewed by Quantum Magazine and answered questions one by one. From these interviews, you can get a glimpse of Mr. Gardner’s scientific research philosophy and attitude towards life.

Have you always been interested in writing?

Before, someone told me that the real world is too difficult for me. I didn’t want to discover anything new, but I love writing to express my joy in enjoying these thoughts.

Gardner always tells stories with a transition to scientific content. When he was in college, he wrote a short story, where each word was a chemical formula. Photos from Gardner ’s wife Jill Knuth

In the sixth grade, several friends and I wrote a two-page article on a mimeograph, but the content was all jokes. When I was in high school, as an editor of a news paper, I had to catch up with the manuscript all night every night. When I was in college, I wrote my first line of text as a school journal editor. In the third and fourth grades of college, we started writing engineering and scientific reviews. For example, I wrote “Th_5E_4 CH_3EmIC_2Al_2Ca_3P_4Er”, where each word is a chemical formula.

Is this why you wrote this great book? Do you see it as another story?

The Art of Computer Programming is a manifesto. It tells how much I like math and how I want to learn. Starting on page 1, I started to tell stories about algorithms. At that time, most textbooks did not explore the human aspect of scientific discovery. They just say “this is how chemistry works” or “that is how physics works.”

I also told a story about technology. I said, “Some things have no effect. Here is a way to solve the problem. I don’t just state the facts, I also add drama.” If you know the order of discovery, then scientific learning becomes It’s much easier. In addition, I can’t refuse a good story. I did not see myself as a pioneer, but as a recorder.

So in addition to the story, what else does “Computer Programming Art” tell?

After writing the book for two years, I realized that the novelty of this set of books is that it can quantitatively determine the pros and cons of a program. I do n’t just want to say that one program is better than another. What I want to say is that one program is 13.8% better than another program, and this comparison is explained.

Author A will talk about algorithm A, and author B will talk about his competitive algorithm B. Also, author A never writes about algorithm B, and author B never writes about algorithm A. In addition, the computers used by authors A and B are different. So, as a neutral recorder, I will explain these two algorithms from such an angle, “How good is an algorithm?”. It is very interesting to ask such questions, this is the algorithm analysis.

Is “algorithm analysis” just another way of saying “the art of computer programming”?

In 1967, when I participated in the Industrial and Applied Mathematics conference, someone asked me what I did. At that time, computer science was divided into several fields of numerical analysis, artificial intelligence, and programming languages. I realized that I needed a name for my job.

The novelty of my book lies in a rigorous inquiry into the pros and cons of the algorithm. So I decided that the next time someone asked me this question, I would answer that I was doing “algorithm analysis.” My definition is: If I am interested in this, then this is algorithm analysis. This is not a very good definition.

But for you, programming is not just about functions. For example, when you design TeX, you want to find the “most pleasing curve” connecting specific points. Did you want to write beauty into a program?

The way my program connects points is like reverse-engineered the work of an excellent calligrapher. For example, there is a point in the letter S where the curvature changes from positive to negative, and then it will stabilize for a while. The designer of this letter followed some logic to make the line into the shape of a letter. I not only want to experience this design result, but also want to understand the intellectual process behind it. It’s like writing a computer program.

In 1980, Gardner and font designer Herman Zapf were in his Stanford University office, at this time Gardner ’s typesetting program TeX It has just been released for a few years. The picture comes from: Chuck Painter / Stanford News Service

I talked to the designers and wanted to understand what they wanted to achieve. The mathematics involved here is to understand these designs in a quantitative way. With the help of mathematics, I put a small dial on everything. For example, for the letter A, I can say how thick it is, what the angle is here, where it is getting thinner, there is a bulge at the bottom, and there is a specific serif length, etc.

I never thought of replacing designers. I just want to let future generations understand what we did at the time. With TeX, we can reproduce the design.

Did you anticipate that TeX would be accepted by the world or its generalization ability?

At that time, TeX was just for my secretary and myself. Phyllis (Astrid Benson Winkler) is an excellent secretary. She can read my handwritten content and make them appear in a more beautiful way. Printing technology is declining, because although this method has been proven, but the cost is too high. Almost all mathematics published in the 1970s looked very ugly. In the American Mathematical Monthly, the subscript font is different from the main body font. I know that computer programming can make these books look good.

In April 1973, I finished debugging an experimental version of TeX. In May, I had 10 users. In June, I had 100 users. In July, I had 1,000. Every new user group will say, “TeX must have this and other functions.” Five years later, I released TeX, which is basically what it is now. This software was first designed for Americans, and then Europeans began to use it. So in the 1980s, I added world language support to TeX.

It sounds like your development process has been accompanied by new discoveries. Is this still the case today?

I write 5 new programs on average every week. The poet must write poetry, and I must write computer programs.

If I understand something, the ultimate test is to see if I can explain it to the computer. I can explain to you, you may nod your head to understand, But I ’m not sure if I explained it clearly. But the computer “will not nod”, it will only repeat exactly what I let it do. Many times in life, you can bluff, but this does not work for computers.

“The best way to communicate between humans is through stories,” says Gardner. This method allows him to analyze the algorithm more strictly and neutrally. Image from Vivian Cromwell

You write day and night, do you have other hobbies? How do you spend your daily life?

Jack London writes 1,000 words a day before talking to people. He is simply “Don’t disturb me until I finish 1000 words”, and then the rest of his time is drinking or proofreading. But I am different. My scheduling principle is to give priority to the things I hate the most. By the weekend, I will be very happy.

Really? What do you hate to make you happy?

In my opinion, this is very simple: “Let me be a genius, never clean the toilet.” But even cleaning the toilet can be done. My wife Jill and I have uniforms that can put 409 detergent slots. You go to the toilet to clean and spray water, it feels very good to clean the toilet.

The factor that determines a person ’s success in life is a higher minimum value, not a higher maximum value. If you can do some things well and other things will fail, then the latter will drag you down. But if you can do almost everything well, then you have a good life. So I tried my best to learn things that others might find unpleasant to do.

In 2020, Gardner is in his own home. He retired in 1993 to complete his masterpiece “The Art of Computer Programming”. Photos from Gardner’s wife Gao Jinglan(Jill Knuth)

You also have many projects not related to computer science, such as your music piece “Fantasia Apocalyptica”. Your house is even built around a two-story pipe organ. Does such an activity make you happy?

I have written several books on theology, including “Things a Computer Scientist Rarely Talks About”, which is different from mathematics or computer science. You cannot prove them. If my life is to analyze and clarify things, it will be incomplete. Mysterious things that I don’t understand give me humility. There are some things beyond my understanding.

In the field of mathematics, I know when the theorem is correct. I like that. But if everything can be done, then life is meaningless. Such knowledge will not make me despair. On the contrary, it ensures that my life is not set in stone.

Do you think it is very important to successfully complete the “Computer Programming Art”?

Oh, I know that computer science will continue to survive and develop. There is a situation where no one studies the current computer anymore. They all ran to study machine learning and quantum computers. Then I can go to the end of non-quantum computers. If I can say “This is the end of the story”, I am certainly very happy. This is the easiest way to imagine myself. But I will not answer your question.

Do you know Tristram Shandy? In the late 18th century, Lawrence Sterne wrote an autobiographical book, “The Life and Opinions of Tristram Shandy, Gentleman”. It was published in the form of volume or installment. It wrote about 100 pages of stories in the first week of his life. He wanted to complete this life story, but of course he couldn’t finish it in the end. Stern had been writing about Tristram Xiangdi’s story until he couldn’t write anymore.

I want to continue writing quality content in the best way I know, and introduce things that I have some original ideas. I will try to do as much as possible without saying what I am going to accomplish by a certain deadline. I have always been very fortunate, just caught up with the wave of the times and was born in an era where I can do things that are particularly suitable for me. Now, with the exception of “Computer Programming Art”, I have completed all my life goals. In this case, I will continue to tell the various stories I can find and pass them on.

Original link: https://www.quantamagazine.org/computer-scientist-donald-knuth-cant-stop-telling-stories-20200416 /