But you're right that Knuth has a dream "job" that the rest of us, at least those with the slightest "scholarly" inclinations, can only envy him for: he reads, explores, digests, and explains, the topics he likes and in the way he likes, and the results are great. But when you're already a legendary programmer in college (http://ed-thelen.org/comp-hist/B5000-AlgolRWaychoff.html#7), and have won a Turing Award at 36 (http://hagiograffiti.blogspot.com/2009/01/when-will-singular...) for a book you've been writing in your free time, one can say you're entitled to the life.
ENIAC was finished in 1945. I cannot imagine how small the programming world must've felt back then.
I consider this the first and last generation of truly self-taught programmers. Earlier programmers either built the computers themselves or were hired and trained on the job; they were professionals. Later programmers (all of us) did have some programming books/tutorials or some sort of community to draw from. But Knuth and his peers just had a machine with a manual describing its opcodes, and practically "discovered" programming independently at each "site", e.g. college. As he writes:
> The IBM 650 was the first computer to be manufactured in really large quantities. Therefore the number of people in the world who knew about programming increased by an order of magnitude. Most of the world's programmers at that particular time knew only about the 650, and were unaware of the already extensive history of computer developments in other countries and on other machines. We can still see this phenomenon occurring today, as the number of programmers continues to grow rapidly.
There is value in providing reference texts. There is value in providing sample usages of programs to the unfamiliar. There is value in demonstrating alternative means to reach the same goal.
Donald Knuth's work of cataloguing and examining the different branches and leaves of computer science would be valuable even if he weren't also a world-class computer scientist in his own right (which he just happens to be).
I for one would feel privileged to get to meet him.
He writes these programs to research things, and then publishes an authoritative book on the subject.
It's used by many to perfect their craft.
OK, even though the bible doesn't interest me, we once went through the score of the Fantasia Apocalyptica together and it was useful that I knew enough of the bible to discuss some references. There are also musical "puzzles" or clues in the score a few of which I was lucky enough to catch so I didn't come off as a complete dufus.
Highly recommended. Also, "3:16".
These are about the operating system of the soul.
• Mathematical Preliminaries Redux: https://cs.stanford.edu/~knuth/fasc5a.ps.gz
• 7.2.2 Introduction to Backtracking: https://cs.stanford.edu/~knuth/fasc5b.ps.gz
• 7.2.2.1 Dancing Links: https://cs.stanford.edu/~knuth/fasc5c.ps.gz
• 7.2.2.2 Satisfiability: https://cs.stanford.edu/~knuth/fasc6a.ps.gz
The first three were published together as "Volume 4, Fascicle 5" in 2019, and the last one—Satisfiability—was published as "Volume 4, Fascicle 6" in 2015. Of course the actual publication as Volume 4B has hundreds of fixes and additions beyond what was published earlier, and a lovely preface that you can read here: https://www.informit.com/articles/article.aspx?p=3143614
> You might think that a 700-page book has probably been padded with peripheral material. But I constantly had to "cut, cut, cut" while writing it, because […] new and potentially interesting-yet-unexplored topics kept popping up, more than enough to fill a lifetime; yet I knew that I must move on. […] I wrote nearly a thousand computer programs while preparing this material, because I find that I don't understand things unless I try to program them.