Earlier quoted context omitted.
For example: https://www.amazon.com/3-16-Bible-Texts-Illuminated/dp/08957...
I was expecting to see 3:14 on the cover!
Knuth's Art of Computer Programming, V 4B, has gone into print
331–340 of 357 posts
Re: Knuth's Art of Computer Programming, V 4B, has gone into print
#332Earlier quoted context omitted.
And more prestigious to boot.
My laptop is raised to the height of my other monitors by Feynman's boxed set of Lectures on Physics, Aho & Ullman's Foundations of Computer Science, and a Scott Adams compendium. This way my computing is based on a strong foundation...
Your laptop stand will likely become a family heirloom in the decades to come.
Re: Knuth's Art of Computer Programming, V 4B, has gone into print
#333Knuth and Conway, each have 100s of articles, yet, Barry Kercheval has none. Guess which one taught me more about programming and the CCP?
Re: Knuth's Art of Computer Programming, V 4B, has gone into print
#334Earlier quoted context omitted.
As someone whose computing career was improved by learning to touch-type in grade school (Mom had been a secretary, saw that these "personal" computers had keyboards, and bludgeoned the high school to let me in to the summer-school typing class) it's not actually the speed that matters - though that does certainly impress people - it's that it's "automatic". If you're not thinking about letters and where they are, yo…
There is however a terrible effect on productivity and self-respect when you have to switch keyboard layout for any reason. I'm still one month into switching to a macbook, and I now dread cutting and pasting. Oh, and typing "pipe", too. I wonder how long it will take my 40+ years old brain and hands to get their act together...
Re: Knuth's Art of Computer Programming, V 4B, has gone into print
#335Earlier quoted context omitted.
How on earth do you even find work like this? I would love to have a career working on problems like this but can't imagine how I'd get a job doing anything but commonplace back-end work.
Those jobs sort of found me... My path involved working at a series of tiny startups through the first 15 years of my career - the 1990s and early 2000s. At the smallest, I was the only engineer. At the largest, there were 8. At that scale, you learn to do everything (seriously: front end, back end, databases, assembling servers, networking the office, setting literal rat traps, cleaning the cat litter after "upgradi…
Thank you for sharing it.
It was actually probably more insightful and useful than I think you may have realized.
Re: Knuth's Art of Computer Programming, V 4B, has gone into print
#336Earlier quoted context omitted.
Re "being paid", consider that he took early retirement in 1992 to work on this book that he sees as his life's work ( https://cs.stanford.edu/~knuth/retd.html ) (and until then was doing in his "side" time, separate from his job of teaching and research), giving up whatever salary a tenured Stanford CS professor's would be, and has been living off savings and royalties since then: he only gets "paid" when people cho…
> So teacher, that is how we spent the summer of 1960. 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.
Re: Knuth's Art of Computer Programming, V 4B, has gone into print
#337Earlier quoted context omitted.
One of the smartest people I met as an undergrad at Berkeley was a theoretical chemistry PhD student. He was an extremely slow typist, with mostly hunt and peck. It would be frustrating for me because it would be like 1/4 my comfortable speed (20 vs. 80 wpm?). But being slow there made him faster, because he’d spend a little more time before typing thinking about what to type.
I’ve always had the opposite experience. When I am unable to type well I am massively less effective. This happened when switched from emacs to vim, or got a new keyboard with a weird layout, or broke my thumb, or, hell, anytime I use a phone. First there’s the cognitive overhead involved with the task itself, as opposed to letting your fingers do the work while you think about real stuff. Second, when you’re slow at…
However, sometimes I have the opposite desire. I can type on a normal keyboard at 80-90 wpm. On an iPhone I'm probably 1/4-1/3 of that. However, I probably spend 60-90 minutes a day reading/writing emails from my phone. Sometimes going slower allows you go to faster.
> Your brain has the hard part; it should always be the bottleneck.
Or maybe not. Lots of famous people (particularly physicists) talk about the importance of letting the mind wander i.e. the opposite of making sure it's the bottleneck.
I'm a slow phone typist but it's still easy to do. My brain can still think of the next thing to write, or wander.
Re: Knuth's Art of Computer Programming, V 4B, has gone into print
#338Earlier quoted context omitted.
Concrete Mathematics is not a prerequisite, but an expanded version of the "Mathematical Preliminaries" section of TAOCP. (More precisely, Knuth and later Graham used to teach a course at Stanford based on that section of TAOCP; the book Concrete Mathematics is based on the lecture notes of that course.) That apart, I (and Knuth) recommend just skipping the math parts when they get hard. You can always come back to t…
Wow, thank you for this great answer! It makes me wonder though why previous published mathematics about computer programming has been allegedly faulty. Since I don't know enough math to objectively see whether Knuth has succeeded in his task or not... TAOCP could have benefited a lot if someone had written a simpler on-ramping version, with examples in a powerful but newbie-friendly industrial-grade language, such a…
Re: Knuth's Art of Computer Programming, V 4B, has gone into print
#339Very cool. I own the originals and the 4th but sadly I have to admit that even though I am a reasonably accomplished developer with a couple of CS degrees I have a hard time understanding this work and have not yet really read it. I feel like I am publicly admitting failure just posting this. I still have time to make sure these are not just bookshelf decorations though.
The 1st Chapter is one of the best mathematical discussions I've ever read, bar none. But hardcore math isn't needed for most of us programmers. Knuth knows this. I suggest skipping around on an "as needed" basis. Try Volume 1, Section 2.2 "Linear Lists", as a starting point. I promise you its an easier read than you expect. Despite being relatively easy material, you will probably learn something about arrays with j…
Re: Knuth's Art of Computer Programming, V 4B, has gone into print
#340Earlier quoted context omitted.
This is the function my copy of TAOCP serves. I'm not anywhere near knowledgeable enough to digest all of it, but when I need something and I want to understand the ground theory behind it then to Knuth I go.
My most recent use of it was to convince my team that binary search is in fact not a good interview coding question. It's surprisingly tricky and Knuth explains exactly why!