5 ms·
If this is art then I'll have to admit - after 20 years of learning and practicing programming, I'm still a mechanic (or craftsman), not an artist. I will not
by codeshaman 11y ago
If this is art then I'll have to admit - after 20 years of learning and practicing programming, I'm still a mechanic (or craftsman), not an artist.
I will not be able to read and understand this book fully and I probably won't even try, unless I'm locked in a cell with it.
Although I've helped build software used by millions, what I did was stitch together things that are too brilliant (or insane) for me to fully understand. And I assume that most of my colleagues did the same.
There are pylons of brilliance on the shoulders of which everyone builds, and Knuth must be one of the strongest.
Thank you Mr Knuth for holding so much weight on your shoulders.
- taeric 11y agoYou should try it, at the least. It is surprisingly approachable and a lot of fun. I make no claims to be proficient in even a majority of the exercises. I will add that learning algorithms in the way he presents them has been hugely successful in really understanding working with abstractions. Not just inventing the cheap abstractions of giving names to things; but really understanding how you can abstract some problems onto others and use common tools in solving them.
- codeshaman 11y agoI know, I've tried it, maybe one evening read a thing, another evening another. And I would probably be able to understand it if I wanted to. But I can't possibly allocate so much time reading these (long and complicated) books, because, well, all these problems are solved and implemented by people smarter than myself. They're in the libraries, codecs, standards or embedded in the programming languages. Problems I'm trying to solve are further and further away from that deep abstract level - and more in the realms of social psychology, perception, etc. Thanks to Knuth and others, I can move away from the abstract to the concrete, from the computer to the human mind, even if I couldn't possibly explain the fundamentals in such detail as he does.
- ht_th 11y agoEveryone with a good computer science education should be able to digest his books. I know that around here college education is often derided as outdated, impractical, too costly (which is a USA-ian problem), or outright irrelevant, but what Knuth writes about ain't rocket science yet important for many a programmer to understand. He writes in a quite readable style about the fundamentals of programming and computer science theory that's relevant to that programming. I know most programmers mostly glue together prefab components into working systems that successfully serve millions, but if one wants to go beyond the surface, to ask why it all works the way it does, a good computer science education is an advantage.
- nmrm2 11y agoI would argue that anyone who can read and understand TAOCS in its entirety is extremely privileged. Even if the entire CS curriculum was just "Read TAOCS", only the most motivated and hard-working students would make it through. TAOCS is enormous and a lot of the content is dense; even if it is possible for anyone with a (good) CS degree to digest, finding the time to do so would constitute a significant life commitment/accomplishment. Probably above/beyond that of getting a degree. Even this single section within a single chapter could be used as the basis of an entire course.
- ht_th 11y agoI agree with you. It might make for an interesting course: the teacher develops instructional materials fitted for the class she's teaching, using Knuth's chapter as a reference and foundation, guiding and challenging students to dig deep on this topic. I'd like such a class, both as a teacher and a student, I think.
- nmrm2 11y agoI have thought a lot about this. The primary benefit of TAOCS is that it's self-contained and all written in the same voice/style. It's much higher quality than a lot of other texts on the subjects it covers, but a given chapter is not necessarily that best text for the given topic. It would be really cool if there were a "TAOCS" elective offered every single semester, just for the sake of fun. I would love to teach a course like that. I think it would work really well for e.g., an honors program ("to get honors in the major, one option is to enroll in this course for 4 consecutive semesters") More generally, I think the policy that courses should use TAOCS where a chaper exists for the topic at hand would certainly increase the quality of courses at non-top CS programs (certainly, it would have at mine). But in general, there are often texts that do a better job at covering a topic. E.g., this is a really interesting chapter, but I think there are probably better introductory texts on SAT (entirely subjective, of course). Which is to say, if I know the area well then I will probably not use TAOCS. But if I don't then TAOCS is a safe choice.
- wglb 11y agoYou might be amused about one of the questions asked of each interviewee in http://www.codersatwork.com/ http://www.codersatwork.com/ about whether or not they read TAoCP. Most, including Knuth, claim that they did not read it. I have one of the first printings of the three first volumes but have not read all parts. I did do a deep dive in the floating point, as we at one point had to write that at MWC for an early compiler for the non-8087 class of computers. (Good work, Tim M.!)
- codeshaman 11y agoI've read your book! Very inspiring indeed! Thank you !
- taeric 11y agoWasn't the question about whether or not they read other people's code. Doesn't make much sense to ask if Knuth reads his own book. Nor would the answer of no make any sense. Just this last year he discovered a new fact that he shared from Concrete Mathematics in the Christmas Tree Lecture. He clearly goes through them a lot.
- wglb 11y agoOn page 44, in his interview with Jamie Zawinski: Seibel: Have you read Knuth's, The Art5 of Computer Programming? Zawinski: I haven't. Check the book.
- taeric 11y agoJust saw I double posted in reply to you. Apologies. Not sure what book I have in mind, then. I know there was one where they focus for many interviewees was whether or not they read other people's code. And, I should add that I don't see it as a failing that people don't read some literature. I do think it is more approachable than it often gets credit for. To the point that I wish I had tried to read it years ago. That said, people that are being obviously productive should remain so using whatever strategy they have used to this point. :)
- 11y ago