Sundarrajk's Weblog

Archive for the ‘Questions’ Category

A set of questions posed to the legendary Donald E. Knuth by the students of the Vienna University. The gist of the questions and Knuth’s answers are below.

1. Why should or should not a person decide to do Computer Science?
The essence of the answer is a very simple one. It states a person would themselves be able to decide whether or not they want to do the particular subject. If they felt that they would enjoy doing what is to be done in Computer Science they should take it up, otherwise not.
2. Should there be patents? Open Source Software?
Knuth gives a wonderful answer to this question. He says that maths should not have patents. E.g. it is silly to allow somebody to patent the number 5. On a serious note he observes that patent actually means “make publicly known”. He argues that whatever is discovered should be made know for everybody to make use of after the specified period of time. He says that anything trivial, that could be solved by practically anybody in the field should not be patented, whereas breakthrough innovations should be patented so that the discoverers enjoy a certain privilege. Today in software trivial ideas are being patented. He finishes the answer by stating that a number can be patented if it is a number that can answer any question on earth or it can do something substantial which has not been done so far it can be patented.
Knuth disagrees with the GNU License. He says that anybody can take a code change it, but they should publish it under a different name. He states that TeX should be frozen the day he dies. Nobody should change TeX after this death. It is OK somebody takes it and releasing LaTeX++ or something else.
3. Asked what is the Future of Artificial Intelligence? Will they be only pseudo intelligent or will they extend the human mind?
He first admits that he is not good at “Predicting”. Bionic man or woman would be a reality. He says it is more likely to be latter than the former.
4. Is it Computer Science or a Computer Art or a Computer Craft?
He says that he does not have a good answer to this question. Science is something that known, proven. Art is unknown. As Science advances it catches up to Art. And Art keeps advancing. He does not wish to argue if it is a Science or Art.
5. Is there a result or accomplishment that somebody else made and you wished you had made it?
He says Yes jokingly. He says that two people rarely see each others work and so do not leverage off each other’s discovered. He says he started writing the book to bridge the gap and when he started putting together the discovery of different people he found that he could more than they could do individually. He says that he is not competitive and he enjoys beautiful results and likes to tell the story of why it is beautiful rather than trying to be the first one to solve the problem.
6. What is the difference between Computing as established in ACM and Information Processing by IFIB (Institution for Information Management)?
Information covers lots of different things. Information is more static while computing is more dynamic and transforming things. We abstract concept is triangle and circle and we have buildings which are triangular or circular.
We have abstract algorithm which describes how to transform input to output and then a concrete program which actual implements the algorithm.
Information is an abstract concept and the concrete representation is data. Information may be the amount of light or sound and the concrete is the actual numbers. “Information Processing” is transformation of data and it means doing something with the information and it is similar to Computing.
7. What big challenges in Computer Science or IT should we be working on which are promising?
He wishes for better visualization of Medical Records, dynamic/animated Graphical representation of things rather than static images.
8. what are your personnel criteria which make a programming language beautiful?
Depends on the programmer and the application that is being developed. The one that matches the intuition of the programmer. Something that the programmer can write naturally in to solve the given requirement. he says he feels like a dog standing on Hind legs when he uses Haskell or Lisp while C feels most comfortable and when he uses C++ he cannot stand it. He says when he was asked to write a paper on what should be a good language he says he was able to say what a bad language should not be and to show that he says he invented a language called Bad Language I or BL\1. He says he never published the paper as he was afraid that somebody would actually implement the language.
9. Is there a different thinking required for Mathematics and Computer Science?
He says that yes one needs different mindsets for the two. He says that failed to convince another Mathematician about the difference although he still believes that there is a difference.
10. What should children learn in primary and secondary schools about computers and information technology?
The Beaver Project.
11. How to imagine the solution to P = NP problem?
P = NP but you will know why.
12. Which structure surprised you where two things were similar like Game of Life?
Any computation can be simulated by “Game of Life” and this turning out to be “Turing Complete” surprised him.
13. A Meta Question: If you were a student in Vienna what would be your question to Donald Knuth?
Do what you like, do not follow what is trending.

Donald E. Knuth is known in the Computer Science field for his book series “The Art of Computer Programming”.