Donald Knuth

Computer Science American 1938 346 quotes

Author of The Art of Computer Programming

Quotes by Donald Knuth

The hardest thing is to go to sleep at night, when there are so many urgent things needing to be done. A huge gap exists between what we know is possible with today’s machines and what we have so far been able to finish.

Selected Papers on Computer Science 1996

If you find that you’re spending almost all your time on theory, start turning some attention to practical things; it will improve your theories. If you find that you’re spending almost all your time on practice, start turning some attention to theoretical things; it will improve your practice.

ACM Turing Award Lecture 1974

The improvement of style is an important and non-trivial problem.

Literate Programming 1984

In fact, my main conclusion after spending ten years of my life working on the TEX project is that software is hard. It’s harder than anything else I’ve ever had to do.

TEX and METAFONT: New Directions in Typesetting 1989

A mathematical formula should never be ‘owned’ by anybody! Mathematics belong to God.

Digital Typography

The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...'

Attributed

I can’t be confident that a program is correct if I’ve only thought about it and not run it; but I can be confident that it’s incorrect if I’ve run it and seen it fail.

Attributed

The most important skill for a computer scientist is problem solving.

Attributed

We must remember that there are still many things that we don’t know how to do with computers, and that the field is still very young.

Selected Papers on Computer Science 1978

The best theory is inspired by practice. The best practice is inspired by theory.

Attributed

I’ve often felt that the central problem of computer science is how to keep from drowning in complexity.

Attributed

The goal of computer science is to build something that will last at least until we’ve finished building it.

Attributed

Programs are meant to be read by humans and only incidentally for computers to execute.

Literate Programming 1984

The most dangerous thought that you can have as a creative person is to think that you know what you’re doing.

Attributed

I think computer science should be called ‘algorithmics’, to make clear that it is not about computers, any more than astronomy is about telescopes.

Attributed

The meaning of a program is determined by its effect on the computer, not by the intentions of the programmer.

The Art of Computer Programming 1973

The most important property of a program is whether it accomplishes the intention of its user.

Fundamental Algorithms 1971

It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures.

The Art of Computer Programming 1971

The best documentation for a program is a clean structure. It also helps if the code is well formatted, with good mnemonic identifiers and labels (if any are needed), and a clear layout.

Literate Programming 1984

A computer language is not just a way of getting a computer to perform operations but rather it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute.

Literate Programming 1984